123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #!/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
|