miller_factor.sf 317 B

12345678910111213141516171819
  1. #!/usr/bin/ruby
  2. # Factorize pseudoprimes for FactorDB, using the Miller factorization method.
  3. ARGF.each {|line|
  4. var n = line.nums.last || next
  5. var f = n.miller_factor
  6. if (f.len == 1) {
  7. f = n.lucas_factor(+1)
  8. }
  9. if (f.len > 1) {
  10. say "#{n} = #{f.first(-1).join(' * ')}"
  11. }
  12. }