-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomb_slow.sf
119 lines (105 loc) · 2.41 KB
/
comb_slow.sf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#!/usr/bin/ruby
#var good_primes = [3, 5, 17, 23, 29, 53, 89, 353]
#var good_primes = [3, 5, 17, 23, 29, 53, 89]
#var good_primes = [3, 5, 17, 23, 29]
#var good_primes = [3, 5, 17, 23, 29, 53, 113, 275969, 896897]
#var good_primes = [3, 5, 17, 23, 29, 83, 89, 113, 197, 353, 449, 617]
#var good_primes = [3, 5, 17, 23, 29, 83, 89, 113, 197, 353, 449, 617, 3137, 3329]
var good_primes = [3, 5, 17, 23, 29, 83, 89, 353, 449]
#var good_primes = [3, 5, 17, 23, 29, 53, 89, 113]
#var good_primes = [3, 5, 17, 23, 29, 53, 89, 113, 3137, 9857]
#var good_primes = [3, 5, 17, 23, 29, 53, 83, 2003, 93809, 202049, 375233, 1500929]
#var good_primes = [3, 5, 17, 23, 29, 53, 89, 353, 2297, 202049, 375233, 1500929]
var good_prod = good_primes.prod
#var C = 871005264581548962932418919531990803260747265
#var C = 3316648905936338849447649810333831326868806545665
#var C = 610012201694720081796846702960249688144417680786846465
var C = 165502573617193579886078524884554371013787876466850820614145
#var C = 406402829025353014759868508514893182061635216385
var L = C.factor.map{.dec}.lcm
#L *= 4
#L = lcm(10506496,294181888)
#L >>= 5
#L = 1350272*4
#L = 34818399616
say "lcm = #{L} (has #{L.sigma0} divisors)"
var div = L.divisors.map{.inc}.grep{.is_prime}.grep{.is_odd}
div = div.grep { !good_primes.contains(_) }
say div
say "binomial(#{div.len}, #{div.len>>1}) = #{binomial(div.len, div.len>>1)}"
for k in (3..div.len) {
say "Testing: #{k}"
div.combinations(k, {|*a|
if ((a.prod * good_prod).is_carmichael) {
say (a.prod * good_prod)
}
})
}
__END__
166320 -> 3649
15120 -> 2972
110880 -> 2925
55440 -> 2828
277200 -> 2775
25200 -> 2685
196560 -> 2586
332640 -> 2572
75600 -> 2483
65520 -> 2432
131040 -> 2274
720720 -> 2217
327600 -> 2185
100800 -> 2114
45360 -> 1964
221760 -> 1957
30240 -> 1940
831600 -> 1937
257040 -> 1917
60480 -> 1899
7201568 -> 1
4352299952 -> 1
5789168 -> 1
2618528 -> 1
2700544 -> 1
285824 -> 1
1350272 -> 1
2520 -> 226
3960 -> 141
3360 -> 128
3600 -> 127
2160 -> 119
4680 -> 114
6120 -> 106
6336 -> 95
5940 -> 86
4032 -> 82
6048 -> 67
1680 -> 65
9000 -> 63
9072 -> 61
4200 -> 60
3024 -> 53
4320 -> 52
1260 -> 52
4800 -> 52
9720 -> 48
1093200 -> 4
1012480 -> 3
1568400 -> 3
19153848 -> 2
1086840 -> 2
6984864 -> 2
2495532 -> 2
1320840 -> 2
1649640 -> 2
1461564 -> 2
1754970 -> 2
1840230 -> 2
5145300 -> 2
4156860 -> 2
2716452 -> 2
3715860 -> 2
1402092 -> 2
6531960 -> 2
1236300 -> 2
1626576 -> 2