non_residue.sf 425 B

12345678910111213141516171819
  1. #!/usr/bin/ruby
  2. func non_residue(n) {
  3. for p in (2..1e9) {
  4. sqrtmod(p, n) || return p
  5. }
  6. }
  7. var arr = [3277, 3281, 121463, 491209, 11530801, 512330281, 15656266201, 139309114031, 7947339136801, 72054898434289, 334152420730129, 17676352761153241, 172138573277896681]
  8. for k,v in (arr.kv) {
  9. say [k+1, prime(k+1), non_residue(v)]
  10. }
  11. say "\nFactors: ";
  12. arr.each {|n|
  13. say [n, n.factor.map{non_residue(_)}]
  14. }