prog.sf 492 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/usr/bin/ruby
  2. #~ func isok(m) {
  3. #~ }
  4. func U(k, m) {
  5. k.divisors.first(-1).map{|d|
  6. d*k*m - 1
  7. }
  8. }
  9. # 8128: mult = 2**6 * 5
  10. #multiplier = 2*2*2*2
  11. #say U(8128, 1).each{.factor_exp.say}
  12. #__END__
  13. # multiple = 5 * 2**4
  14. for p in ([3,5,7,11,19,137,3461]) {
  15. #for m in (1..) {
  16. # say [m, U(8128, m).map{_%17}]
  17. #}
  18. say [p, 1..p -> lazy.map {|m| [m*3*5, U(8128, m*3*5).map{_==p ? p : _%p}] }.first { _[1].contains(0).not }]
  19. }
  20. # mult = 3 * 5
  21. # 496: 3*5*7*10