larger_carmichael_from_carmichael_simple.sf 352 B

123456789101112131415161718192021
  1. #!/usr/bin/ruby
  2. # Generate larger Fermat pseudoprimes to base 2 from smaller pseudoprimes.
  3. ARGF.each {|line|
  4. var n = line.nums.tail || next
  5. var L = n.lambda
  6. for d in ((n.dec / L).divisors) {
  7. var p = (L*d + 1)
  8. p.is_prime || next
  9. p `divides` n && next
  10. assert(is_carmichael(n*p))
  11. say n*p
  12. }
  13. }