numb 0.109.0 → 0.111.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/lib/numb/beastly.rb +5 -0
- data/lib/numb/bell.rb +16 -0
- data/spec/numb/beastly_spec.rb +20 -0
- data/spec/numb/bell_spec.rb +19 -0
- metadata +7 -1
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.111.0
|
data/lib/numb/beastly.rb
ADDED
data/lib/numb/bell.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
class Integer
|
2
|
+
def bell?
|
3
|
+
triangle = [[1]]
|
4
|
+
r = 1
|
5
|
+
loop do
|
6
|
+
row = [triangle[r - 1][r - 1]]
|
7
|
+
(1..r).each do |c|
|
8
|
+
row << triangle[r - 1][c - 1] + row[c - 1]
|
9
|
+
end
|
10
|
+
triangle[r] = row
|
11
|
+
return false if row.first > self
|
12
|
+
return true if row.first == self
|
13
|
+
r += 1
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
describe Integer, "#beastly?" do
|
2
|
+
# A051003
|
3
|
+
@seq = [666,1666,2666,3666,4666,5666,6660,6661,6662,6663,
|
4
|
+
6664,6665,6666,6667,6668,6669,7666,8666,9666,
|
5
|
+
10666,11666,12666,13666,14666,15666,16660,16661,
|
6
|
+
16662,16663,16664,16665,16666,16667,16668,16669,
|
7
|
+
17666,18666]
|
8
|
+
|
9
|
+
@seq.each do |n|
|
10
|
+
it "returns true for beastly number #{n}" do
|
11
|
+
n.should be_beastly
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
@seq.to_seq.invert.sample(100).each do |n|
|
16
|
+
it "returns false for non-beastly number #{n}" do
|
17
|
+
n.should_not be_beastly
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
describe Integer, "#bell?" do
|
2
|
+
# A000110
|
3
|
+
@seq = [1,1,2,5,15,52,203,877,4140,21147,115975,678570,
|
4
|
+
4213597,27644437,190899322,1382958545,10480142147,
|
5
|
+
82864869804,682076806159,5832742205057,
|
6
|
+
51724158235372,474869816156751,4506715738447323].uniq
|
7
|
+
|
8
|
+
@seq.each do |n|
|
9
|
+
it "returns true for Bell number #{n}" do
|
10
|
+
n.should be_bell
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
@seq.to_seq.invert.sample(100).each do |n|
|
15
|
+
it "returns false for non-Bell number #{n}" do
|
16
|
+
n.should_not be_bell
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: numb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.111.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Run Paint Run Run
|
@@ -54,6 +54,8 @@ files:
|
|
54
54
|
- lib/numb/automorphic.rb
|
55
55
|
- lib/numb/balanced_prime.rb
|
56
56
|
- lib/numb/base.rb
|
57
|
+
- lib/numb/beastly.rb
|
58
|
+
- lib/numb/bell.rb
|
57
59
|
- lib/numb/betrothed.rb
|
58
60
|
- lib/numb/binomial.rb
|
59
61
|
- lib/numb/biquadratic.rb
|
@@ -215,6 +217,8 @@ files:
|
|
215
217
|
- spec/numb/automorphic_spec.rb
|
216
218
|
- spec/numb/balanced_prime_spec.rb
|
217
219
|
- spec/numb/base_spec.rb
|
220
|
+
- spec/numb/beastly_spec.rb
|
221
|
+
- spec/numb/bell_spec.rb
|
218
222
|
- spec/numb/betrothed_spec.rb
|
219
223
|
- spec/numb/binomial_spec.rb
|
220
224
|
- spec/numb/biquadratic_spec.rb
|
@@ -458,6 +462,7 @@ test_files:
|
|
458
462
|
- spec/numb/hamming_spec.rb
|
459
463
|
- spec/numb/doubly_even_spec.rb
|
460
464
|
- spec/numb/safe_prime_spec.rb
|
465
|
+
- spec/numb/bell_spec.rb
|
461
466
|
- spec/numb/sublime_spec.rb
|
462
467
|
- spec/numb/refactorable_spec.rb
|
463
468
|
- spec/numb/betrothed_spec.rb
|
@@ -528,6 +533,7 @@ test_files:
|
|
528
533
|
- spec/numb/digital_sum_spec.rb
|
529
534
|
- spec/numb/brown_spec.rb
|
530
535
|
- spec/numb/perrin_spec.rb
|
536
|
+
- spec/numb/beastly_spec.rb
|
531
537
|
- spec/numb/super_poulet_spec.rb
|
532
538
|
- spec/numb/factorion_spec.rb
|
533
539
|
- spec/numb/undulating_spec.rb
|