Sha256: a000e2fa2cf85b6711514618d2b18696c66242955e9690a6d8b6c2a2cceef385

Contents?: true

Size: 1.08 KB

Versions: 6

Compression:

Stored size: 1.08 KB

Contents

# coding: utf-8
describe Integer, "#infinitary_divisors" do
  # A077609
  @seq = [
    [1],
    [1,2],
    [1,3],
    [1,4],
    [1,5],
    [1,2,3,6],
    [1,7],
    [1,2,4,8],
    [1,9],
    [1,2,5,10],
    [1,11],
    [1,3,4,12],
    [1,13],
    [1,2,7,14],
    [1,3,5,15],
    [1,16],
    [1,17],
    [1,2,9,18],
    [1,19],
    [1,4,5,20],
    [1,3,7,21],
    [1,2,11,22],
    [1,23],
    [1,2,3,4,6,8,12,24],
    [1,25],
    [1,2,13,26],
    [1,3,9,27],
    [1,4,7,28],
    [1,29],
    #[1]
  ]

  @seq.each do |id|
    id.sort!
    n = id.last
    it "returns #{id} for #{n}" do
      n.infinitary_divisors.should == id
    end
  end

  # A037445
  @counts = [1,2,2,2,2,4,2,4,2,4,2,4,2,4,4,2,2,4,2,4,4,4,2,8,
             2,4,4,4,2,8,2,4,4,4,4,4,2,4,4,8,2,8,2,4,4,4,2,4,2,
             4,4,4,2,8,4,8,4,4,2,8,2,4,4,4,4,8,2,4,4,8,2,8,2,4,
             4,4,4,8,2,4,2,4,2,8,4,4,4,8,2,8,4,4,4,4,4,8,2,4,4,
             4,2,8,2,8,8]

  @counts.to_enum.with_index(1).each do |c, n|
    it "returns #{c} infinitary divisors for #{n}" do
      n.infinitary_divisors.uniq.count.should == c
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
numb-0.186.0 spec/numb/infinitary_divisors_spec.rb
numb-0.185.0 spec/numb/infinitary_divisors_spec.rb
numb-0.184.0 spec/numb/infinitary_divisors_spec.rb
numb-0.181.0 spec/numb/infinitary_divisors_spec.rb
numb-0.170.0 spec/numb/infinitary_divisors_spec.rb
numb-0.152.0 spec/numb/infinitary_divisors_spec.rb