numb 0.9.0 → 0.10.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/rhonda.rb +6 -0
- data/lib/numb.rb +1 -1
- data/spec/rhonda_spec.rb +75 -0
- metadata +5 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.10.0
|
data/lib/numb/rhonda.rb
ADDED
data/lib/numb.rb
CHANGED
@@ -6,7 +6,7 @@ libs = %w{abundant achilles automorphic balanced_prime carol composite deficient
|
|
6
6
|
impolite kaprekar keith kynea lucas lucas_carmichael mms_pair mobius
|
7
7
|
narcissistic nivenmorphic ordinal parasitic perfect perfect_power
|
8
8
|
polite polydivisible powerful practical primitive_pseudoperfect
|
9
|
-
pronic self self_descriptive semiperfect semiprime
|
9
|
+
pronic rhonda self self_descriptive semiperfect semiprime
|
10
10
|
smarandache_wellin smith sophie_germain_prime sphenic square
|
11
11
|
square_free triangular trimorphic undulating vampire weird
|
12
12
|
}
|
data/spec/rhonda_spec.rb
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
TRIES = 3
|
2
|
+
RHONDA = {
|
3
|
+
# A100975
|
4
|
+
16 => [1000,1134,6776,15912,19624,20043,20355,23946,
|
5
|
+
26296,29070,31906,32292,34236,34521,36465,39066,
|
6
|
+
50055,50986,52341,54340,58088,59541,75867,85870,
|
7
|
+
87150,88182,93058,95944,99674,101460,109650,
|
8
|
+
109810,119480,124500],
|
9
|
+
# A100974
|
10
|
+
15 => [2392,2472,11468,15873,17424,18126,19152,20079,
|
11
|
+
24388,30758,31150,33004,33550,37925,39483,42550,
|
12
|
+
44714,58870,59605,66950,70182,71485,71709,85557,
|
13
|
+
85848,86241,86591,92150,110334,112671,113300,
|
14
|
+
116270,120414],
|
15
|
+
# A100972
|
16
|
+
14 => [11475,18655,20565,29631,31725,45387,58404,58667,
|
17
|
+
59950,63945,67525,68904,91245,99603,125543,135196,
|
18
|
+
141141,148645,149575,168270,175577,204611,207230,
|
19
|
+
237540,240006,240787,275429,287950,321867,338709,
|
20
|
+
358984],
|
21
|
+
# A100971
|
22
|
+
12 => [560,800,3993,4425,4602,4888,7315,8296,9315,11849,
|
23
|
+
12028,13034,14828,15052,16264,18511,18906,25619,
|
24
|
+
25875,27176,32742,37264,37523,46035,50765,52338,
|
25
|
+
58261,58504,59166,62002,66176,66752,66928,67195,
|
26
|
+
68502],
|
27
|
+
# A099542
|
28
|
+
10 => [1568,2835,4752,5265,5439,5664,5824,5832,8526,
|
29
|
+
12985,15625,15698,19435,25284,25662,33475,34935,
|
30
|
+
35581,45951,47265,47594,52374,53176,53742,54479,
|
31
|
+
55272,56356,56718,95232,118465,133857,148653,
|
32
|
+
154462,161785],
|
33
|
+
# A100973
|
34
|
+
9 => [15540,21054,25331,44360,44660,44733,47652,50560,
|
35
|
+
54944,76857,77142,83334,83694,96448,97944,106575,
|
36
|
+
108273,117624,125952,138966,141204,144236,153318,
|
37
|
+
158417,159424,188529,188598,189350,192000,192126,
|
38
|
+
196652],
|
39
|
+
# A100970
|
40
|
+
8 => [1836,6318,6622,10530,14500,14739,17655,18550,
|
41
|
+
25398,25956,30562,39215,39325,50875,51429,52887,
|
42
|
+
55611,56420,58548,59731,60604,72358,74620,76581,
|
43
|
+
78780,81370,84180,85949,103350,103788,108750,
|
44
|
+
112914,118233],
|
45
|
+
# A100969
|
46
|
+
6 => [855,1029,3813,5577,7040,7304,15104,19136,35350,
|
47
|
+
36992,41031,42009,60368,65536,67821,76880,84525,
|
48
|
+
90601,122831,131175,154570,162565,184009,184585,
|
49
|
+
196504,217021,219830,222200,252161,256041,268677,
|
50
|
+
353115,355737]
|
51
|
+
}
|
52
|
+
|
53
|
+
RHONDA.each do |base, members|
|
54
|
+
describe Integer, "#rhonda?(#{base})" do
|
55
|
+
it "returns true for a Rhonda number in base #{base}" do
|
56
|
+
members.shuffle.first(TRIES).each{|_| _.rhonda?(base).should be_true}
|
57
|
+
end
|
58
|
+
|
59
|
+
it "returns false for a non-Rhonda number in base #{base}" do
|
60
|
+
((1..members.max).to_a - members).shuffle.first(TRIES).
|
61
|
+
each{|_| _.rhonda?(base).should be_false}
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe Integer, "#rhonda?" do
|
67
|
+
it "returns true for a Rhonda number in base 10" do
|
68
|
+
RHONDA[10].shuffle.first(TRIES).each{|_| _.should be_rhonda}
|
69
|
+
end
|
70
|
+
|
71
|
+
it "returns false for a non-Rhonda number in base 10" do
|
72
|
+
((1..RHONDA[10].max).to_a - RHONDA[10]).shuffle.first(TRIES).
|
73
|
+
each{|_| _.should_not be_rhonda}
|
74
|
+
end
|
75
|
+
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.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Run Paint Run Run
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-04 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -79,6 +79,7 @@ files:
|
|
79
79
|
- lib/numb/prime.rb
|
80
80
|
- lib/numb/primitive_pseudoperfect.rb
|
81
81
|
- lib/numb/pronic.rb
|
82
|
+
- lib/numb/rhonda.rb
|
82
83
|
- lib/numb/ruby1.8.rb
|
83
84
|
- lib/numb/ruby1.9.rb
|
84
85
|
- lib/numb/self.rb
|
@@ -139,6 +140,7 @@ files:
|
|
139
140
|
- spec/practical_spec.rb
|
140
141
|
- spec/primitive_pseudoperfect_spec.rb
|
141
142
|
- spec/pronic_spec.rb
|
143
|
+
- spec/rhonda_spec.rb
|
142
144
|
- spec/self_descriptive_spec.rb
|
143
145
|
- spec/self_spec.rb
|
144
146
|
- spec/semi_perfect_spec.rb
|
@@ -210,6 +212,7 @@ test_files:
|
|
210
212
|
- spec/dihedral_prime_spec.rb
|
211
213
|
- spec/sphenic_spec.rb
|
212
214
|
- spec/lucas_carmichael_spec.rb
|
215
|
+
- spec/rhonda_spec.rb
|
213
216
|
- spec/composite_spec.rb
|
214
217
|
- spec/practical_spec.rb
|
215
218
|
- spec/sophie_germain_prime_spec.rb
|