2016年4月5日火曜日

160405

Ruby


Göbel's Sequence(2)

オンライン整数列大辞典の
A005166 やA005167 のCOMMENTS を見ると、
「適当な素数p を見つけてきて、mod p で計算した結果a(p) は整数ではありません」
と示すのが楽そうなので、
そのようなp を見つけるコードを書いてみた。

もちろん、整数にならないような最小値(http://oeis.org/A108394/list)以上である。

require 'prime'
require 'OpenSSL'

def Gobel_prime(k)
  Prime.each(10 ** 7){|mod|
    x = 2
    (2..mod - 1).each{|i|
      x = OpenSSL::BN.new(i.to_s).mod_inverse(mod).to_i * x * (x ** (k - 1) + i - 1) % mod
    }
    return mod if x * (x ** (k - 1) + mod - 1) % mod > 0
  }
end

p (2..1000).map{|k| Gobel_prime(k)}

出力結果
[43, 89, 97, 251, 19, 239, 37, 79, 83, 239, 31, 431, 19, 79, 23, 827, 43, 173, 31, 103, 179, 73, 19, 431, 193, 101, 53, 811, 47, 1427, 19, 251, 29, 311, 137, 71, 23, 499, 43, 47, 19, 419, 31, 191, 83, 337, 59, 1559, 19, 127, 109, 163, 67, 353, 83, 191, 83, 107, 19, 503, 29, 191, 47, 83, 307, 1907, 19, 131, 37, 137, 31, 467, 31, 127, 47, 443, 19, 173, 31, 227, 23, 337, 83, 563, 19, 47, 167, 487, 29, 89, 83, 79, 137, 73, 19, 2039, 89, 311, 59, 127, 31, 173, 19, 239, 37, 71, 61, 167, 31, 457, 101, 179, 19, 173, 37, 179, 29, 191, 67, 563, 19, 103, 43, 151, 23, 101, 43, 239, 59, 139, 19, 47, 31, 541, 263, 101, 83, 647, 19, 179, 37, 103, 43, 839, 29, 83, 23, 167, 19, 167, 37, 331, 53, 167, 47, 167, 19, 211, 59, 1699, 31, 191, 31, 79, 43, 73, 19, 479, 23, 79, 47, 359, 29, 359, 19, 71, 37, 47, 97, 839, 61, 431, 53, 227, 19, 827, 37, 241, 383, 173, 23, 167, 19, 103, 97, 179, 47, 131, 31, 127, 29, 311, 19, 251, 53, 137, 43, 331, 79, 479, 19, 239, 23, 163, 47, 1427, 47, 347, 83, 307, 19, 251, 31, 47, 173, 101, 43, 83, 19, 229, 173, 751, 113, 191, 23, 101, 53, 73, 19, 1847, 61, 79, 47, 103, 59, 71, 19, 79, 37, 173, 31, 191, 31, 251, 83, 523, 19, 233, 31, 499, 47, 313, 47, 359, 19, 89, 109, 139, 43, 47, 67, 151, 59, 151, 19, 863, 109, 223, 23, 643, 31, 191, 19, 163, 29, 173, 53, 431, 31, 179, 43, 311, 19, 179, 37, 103, 101, 577, 113, 1559, 19, 127, 59, 331, 47, 227, 47, 179, 47, 73, 19, 227, 29, 167, 47, 47, 67, 179, 19, 79, 37, 167, 23, 491, 109, 79, 251, 131, 19, 479, 37, 163, 43, 193, 47, 101, 19, 223, 47, 379, 29, 137, 31, 311, 23, 103, 19, 563, 31, 439, 47, 127, 43, 89, 19, 337, 37, 167, 79, 479, 47, 47, 193, 251, 19, 239, 23, 211, 29, 389, 31, 383, 19, 179, 43, 107, 139, 563, 31, 467, 47, 73, 19, 659, 47, 71, 97, 727, 23, 233, 19, 83, 37, 197, 43, 503, 29, 79, 47, 419, 19, 821, 31, 79, 179, 139, 47, 47, 19, 227, 23, 439, 53, 677, 67, 419, 43, 269, 19, 179, 43, 151, 167, 151, 29, 101, 19, 103, 37, 317, 31, 503, 23, 439, 173, 101, 19, 683, 31, 167, 269, 89, 47, 251, 19, 163, 47, 103, 59, 239, 137, 127, 29, 47, 19, 71, 79, 131, 43, 419, 31, 251, 19, 367, 37, 461, 61, 179, 31, 349, 137, 179, 19, 83, 37, 79, 23, 127, 43, 167, 19, 79, 97, 557, 67, 167, 103, 167, 47, 233, 19, 263, 31, 163, 53, 179, 53, 137, 19, 47, 37, 311, 109, 251, 43, 197, 59, 431, 19, 659, 37, 311, 101, 317, 67, 1097, 19, 353, 47, 227, 23, 467, 31, 167, 179, 71, 19, 263, 31, 89, 107, 227, 71, 173, 19, 101, 29, 163, 47, 293, 61, 191, 23, 139, 19, 47, 37, 359, 53, 103, 31, 179, 19, 79, 83, 83, 97, 743, 31, 79, 317, 503, 19, 347, 23, 457, 89, 211, 47, 719, 19, 151, 37, 151, 83, 467, 113, 127, 97, 239, 19, 353, 31, 211, 43, 269, 23, 107, 19, 197, 47, 47, 29, 173, 67, 71, 101, 73, 19, 887, 53, 103, 71, 127, 43, 167, 19, 163, 23, 409, 31, 431, 31, 137, 47, 311, 19, 89, 31, 827, 29, 233, 59, 887, 19, 101, 43, 431, 47, 173, 23, 79, 107, 137, 19, 101, 47, 47, 263, 383, 31, 1049, 19, 487, 37, 167, 43, 167, 29, 179, 53, 103, 19, 167, 37, 163, 47, 353, 97, 383, 19, 191, 71, 179, 83, 71, 67, 241, 43, 73, 19, 1307, 31, 179, 23, 367, 29, 479, 19, 127, 37, 139, 47, 47, 59, 229, 257, 191, 19, 167, 37, 337, 149, 107, 223, 431, 19, 367, 109, 163, 31, 197, 31, 103, 29, 89, 19, 1931, 31, 79, 43, 251, 67, 479, 19, 79, 37, 131, 23, 83, 47, 151, 47, 151, 19, 101, 37, 719, 47, 47, 31, 191, 19, 103, 263, 71, 59, 563, 31, 677, 23, 73, 19, 647, 67, 193, 83, 211, 47, 137, 19, 307, 37, 103, 53, 947, 43, 227, 101, 479, 19, 479, 23, 227, 47, 173, 47, 599, 19, 137, 97, 167, 43, 701, 47, 47, 53, 211, 19, 1607, 61, 223, 83, 647, 23, 197, 19, 79, 29, 173, 31, 503, 31, 79, 43, 263, 19, 467, 31, 107, 59, 83, 71, 191, 19, 71, 23, 439, 53, 569, 47, 167, 47, 73, 19, 191, 29, 163, 179, 139, 31, 47, 19, 179, 37, 101, 61, 179, 23, 127, 89, 293, 19, 419, 37, 101, 43, 367, 223, 443, 19, 179, 227, 499, 29, 461, 79, 131, 107, 439, 19, 179, 31, 233, 59, 103, 43, 1163, 19, 307, 37, 163, 127, 251, 67, 79, 47, 47, 19, 347, 37, 79, 23, 151, 83, 71, 19, 173, 43, 787, 31, 89, 31, 83, 317, 73, 19, 359, 31, 197, 47, 499, 131, 257, 19, 373, 37, 197, 43, 863, 29, 631, 47, 379, 19, 107, 37, 103, 83, 193, 31, 311, 19, 47, 109, 463, 23, 281, 31, 643, 43, 191, 19, 443, 43, 101, 173, 467, 29, 617, 19, 127, 37, 347, 109, 101, 47, 103, 23, 199, 19, 443, 31, 79, 317, 71, 61, 1907, 19, 79, 47, 727, 47, 179, 107, 127, 29, 73, 19, 47, 23, 173, 43, 311, 53, 83, 19, 691, 37, 89, 31, 227, 31, 173, 59, 1439, 19, 131, 31, 163, 239, 127, 23, 167, 19, 167, 137, 211, 79, 227, 67, 229, 83, 191, 19, 2447, 47, 211, 47]

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。