1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/usr/bin/ruby
- func U(k, m) {
- k.divisors.first(-1).map {|d|
- d*k*m - 1
- }
- }
- for k in (1..40) {
- say [k, U(8128, k).map{ _ % 29}]
- }
- __END__
- var list = []
- for p in (primes(3,100000)) {
- var t = (1..p -> lazy.map{|k| [k, U(8128, k).map{_ % p}] }.first { _[1].contains(0).not }[0])
- if (t == 2) {
- say p
- }
- }
- say list.lcm
- #say U(496, 10405375365)
- __END__
- Mod 3:
- m |
- ----+---------------------------------------
- 1 | [0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1]
- 2 | [1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0]
- 3 | [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] # for m = 3*1, the factors or not divisible by 3
- 4 | [0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1]
- 5 | [1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0]
- 6 | [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] # for m = 3*2, the factors or not divisible by 3
- 7 | [0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1]
- 8 | [1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0]
- 9 | [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] # for m = 3*3, the factors or not divisible by 3
- Mod 5:
- m |
- ----+----------------------------------------
- 1 | [2, 0, 1, 3, 2, 0, 1, 0, 1, 3, 2, 0, 1]
- 2 | [0, 1, 3, 2, 0, 1, 3, 1, 3, 2, 0, 1, 3]
- 3 | [3, 2, 0, 1, 3, 2, 0, 2, 0, 1, 3, 2, 0]
- 4 | [1, 3, 2, 0, 1, 3, 2, 3, 2, 0, 1, 3, 2]
- 5 | [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4] # for m = 5*1, the factors are not divisible by 5
- 6 | [2, 0, 1, 3, 2, 0, 1, 0, 1, 3, 2, 0, 1]
- 7 | [0, 1, 3, 2, 0, 1, 3, 1, 3, 2, 0, 1, 3]
- 8 | [3, 2, 0, 1, 3, 2, 0, 2, 0, 1, 3, 2, 0]
- 9 | [1, 3, 2, 0, 1, 3, 2, 3, 2, 0, 1, 3, 2]
- 10 | [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4] # for m = 5*1, the factors are not divisible by 5
- m |
- ----+-------------------------------------------------------------------------------------------------------------------------
- 1 | [ 8127, 16255, 32511, 65023, 130047, 260095, 520191, 1032255, 2064511, 4129023, 8258047, 16516095, 33032191]
- 2 | [16255, 32511, 65023, 130047, 260095, 520191, 1040383, 2064511, 4129023, 8258047, 16516095, 33032191, 66064383]
- 3 | [24383, 48767, 97535, 195071, 390143, 780287, 1560575, 3096767, 6193535, 12387071, 24774143, 49548287, 99096575]
- 4 | [32511, 65023, 130047, 260095, 520191, 1040383, 2080767, 4129023, 8258047, 16516095, 33032191, 66064383, 132128767]
- 5 | [40639, 81279, 162559, 325119, 650239, 1300479, 2600959, 5161279, 10322559, 20645119, 41290239, 82580479, 165160959]
- 6 | [48767, 97535, 195071, 390143, 780287, 1560575, 3121151, 6193535, 12387071, 24774143, 49548287, 99096575, 198193151]
- 7 | [56895, 113791, 227583, 455167, 910335, 1820671, 3641343, 7225791, 14451583, 28903167, 57806335, 115612671, 231225343]
- 8 | [65023, 130047, 260095, 520191, 1040383, 2080767, 4161535, 8258047, 16516095, 33032191, 66064383, 132128767, 264257535]
- 9 | [73151, 146303, 292607, 585215, 1170431, 2340863, 4681727, 9290303, 18580607, 37161215, 74322431, 148644863, 297289727]
- 10 | [81279, 162559, 325119, 650239, 1300479, 2600959, 5201919, 10322559, 20645119, 41290239, 82580479, 165160959, 330321919]
|