Sha256: 2e41d62f3ba00cb15c1807a367e255841ad59bdb56348ace1eec5adce655869b

Contents?: true

Size: 1.79 KB

Versions: 20

Compression:

Stored size: 1.79 KB

Contents

# coding: utf-8
describe Integer, "#knödel?" do
  @seq = {
    # A002997
    1 => [561,1105,1729,2465,2821,6601,8911,10585,15841,
          29341,41041,46657,52633,62745,63973,75361,101101,
          115921,126217,162401,172081,188461,252601,278545,
          294409,314821,334153,340561,399001,410041,449065,
          488881,512461].to_seq,
    # A050990        
    2 => [4,6,8,10,12,14,22,24,26,30,34,38,46,56,58,62,74,
          82,86,94,106,118,122,132,134,142,146,158,166,178,
          182,194,202,206,214,218,226,254,262,274,278,298,
          302,314,326,334,346,358,362,382,386,394,398,422,
          446,454,458].to_seq,
    # A033553
    3 => [9,15,21,33,39,51,57,63,69,87,93,111,123,129,141,
          159,177,183,195,201,213,219,237,249,267,291,303,
          309,315,321,327,339,381,393,399,411,417,447,453,
          471,489,501,519,537,543,573,579,591,597,633,669,
          681,687,693].to_seq,
    # A050992
    4 => [6,8,12,16,20,24,28,40,44,48,52,60,68,76,80,92,
          112,116,120,124,148,154,164,172,188,208,212,236,
          240,244,264,268,280,284,292,316,332,340,356,364,
          388,404,412,428,436,452,508,520,524,548,556,596,
          604,628,652].to_seq,
    # A050993
    5 => [25,65,85,145,165,185,205,265,305,365,445,485,505,
          545,565,685,745,785,825,865,905,965,985,1085,1145,
          1165,1205,1285,1345,1385,1405,1465,1565,1585,1685,
          1745,1765,1865,1925,1945,1985,2005,2045,2105,
          2165].to_seq
  }

  @seq.each do |k, members|
    members.first(k+1).each do |n|
      it "should return true for #{k}-Knödel number #{n}" do
        n.knödel?(k).should be_true
      end
    end
    
    members.invert.sample(k+1).each do |n|
      it "should return false for non-#{k}-Knödel number #{n}" do
        n.knödel?(k).should be_false
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
numb-0.186.0 spec/numb/knodel_spec.rb
numb-0.185.0 spec/numb/knodel_spec.rb
numb-0.184.0 spec/numb/knodel_spec.rb
numb-0.181.0 spec/numb/knodel_spec.rb
numb-0.170.0 spec/numb/knodel_spec.rb
numb-0.152.0 spec/numb/knodel_spec.rb
numb-0.138.0 spec/numb/knodel_spec.rb
numb-0.125.0 spec/numb/knodel_spec.rb
numb-0.114.0 spec/numb/knodel_spec.rb
numb-0.111.0 spec/numb/knodel_spec.rb
numb-0.109.0 spec/numb/knodel_spec.rb
numb-0.99.0 spec/numb/knodel_spec.rb
numb-0.96.0 spec/numb/knodel_spec.rb
numb-0.89.0 spec/numb/knodel_spec.rb
numb-0.84.0 spec/knodel_spec.rb
numb-0.77.0 spec/knodel_spec.rb
numb-0.72.1 spec/knodel_spec.rb
numb-0.72.0 spec/knodel_spec.rb
numb-0.68.0 spec/knodel_spec.rb
numb-0.63.0 spec/knodel_spec.rb