Sha256: 5731938263530d534fedb95207efe62559c30dac8da0bb2aa9cde2acfd6f8b34
Contents?: true
Size: 1.87 KB
Versions: 4
Compression:
Stored size: 1.87 KB
Contents
describe Integer, "#hyperperfect?" do # http://www.research.att.com/~njas/sequences/A000396 PERFECT = [6,28,496,8128,33550336,8589869056,137438691328, 2305843008139952128, 2658455991569831744654692615953842176, 191561942608236107294793378084303638130997321548169216] it "returns true for a 1-hyperperfect (perfect) number" do PERFECT.first(5).each do |number| number.should be_hyperperfect end end it "returns false for a non-1-hyperperfect (non-perfect) number" do ((1..2000).to_a - PERFECT).sample(5).each do |number| number.should_not be_hyperperfect end end it "returns true for 6-hyperperfect numbers with an argument of 6" do # http://www.research.att.com/~njas/sequences/A028499 [301,16513,60110701,1977225901].each do |number| number.hyperperfect?(6).should be_true end end it "returns false for non-6-hyperperfect numbers with an argument of 6" do [302,6].each do |number| number.hyperperfect?(6).should be_false end end it "returns true for 18-hyperperfect numbers with an argument of 18" do # http://www.research.att.com/~njas/sequences/A028501 [1333,1909,2469601,893748277].each do |number| number.hyperperfect?(18).should be_true end end it "returns false for non-18-hyperperfect numbers with an argument of 18" do [6,1334].each do |number| number.hyperperfect?(18).should be_false end end it "returns true for 2772-hyperperfect numbers with an argument of 2772" do # http://www.research.att.com/~njas/sequences/A028502 [95295817,124035913,749931337,4275383113].each do |number| number.hyperperfect?(2772).should be_true end end it "returns false for non-2722-hyperperfect numbers with an argument of 2722" do [6,95295816].each do |number| number.hyperperfect?(2772).should be_false end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
numb-0.3.3 | spec/hyperperfect_spec.rb |
numb-0.3.2 | spec/hyperperfect_spec.rb |
numb-0.3.1 | spec/hyperperfect_spec.rb |
numb-0.3.0 | spec/hyperperfect_spec.rb |