3333・・・3331が素数になるとき、ならないときが、面白かったので、Pythonでサーベイしました。

こちらの記事に、次の話題がありました。

次の数字のうち素数でないものを探してみましょう。

  • 31
  • 331
  • 3331
  • 33331
  • 333331
  • 3333331
  • 33333331
  • 333333331

この中に一つだけ素数ではない数字が存在します。

それはどれでしょう?

素数の不思議 – 素数の魅力を紹介しています!

せっかくなので、3が100個続く場合まで、考えてみました。

def sigma(m, n, func, s = 0) :
    if m > n: return s
    return sigma(m + 1, n, func, s + func(m))

これで、和の関数を定義しました。この関数は、完全に次のサイトを参考にしました。

Pythonで総和を実装 #Python - Qiita

総和の式を実装してみる\sum_{i=m}^{n} f(x) = f(m) + f(m+1) + \cdots + f(n) \\def sigma(m, n, func, s = 0) : i…

あとは、ポツポツと、コードを組みました。

Pythonでピックアップさせました。

#3…31の素数判定
from sympy import isprime

k = int(input("入力"))
k= k+1
g=2

pri = 0
notpri = 0

while g <= k:
  p = sigma(0, g-2, lambda x : 3*10**(g-x-1)) + 1
  g=g+1
  if isprime(p)==True:
    print("Prime:"+str(p))
    pri = pri + 1
  else:
    print("Not Prime"+str(p))
    notpri = notpri + 1

print(pri)
print(notpri)

素数のときは、Prime、素数じゃないときは、Not Primeと出力させます。

さて、「31」から「333・・・3331(3が100個)」までで、素数は何個でしょうか?

[入力]100

  • Prime:31
  • Prime:331
  • Prime:3331
  • Prime:33331
  • Prime:333331
  • Prime:3333331
  • Prime:33333331
  • Not Prime333333331
  • Not Prime3333333331
  • Not Prime33333333331
  • Not Prime333333333331
  • Not Prime3333333333331
  • Not Prime33333333333331
  • Not Prime333333333333331
  • Not Prime3333333333333331
  • Not Prime33333333333333331
  • Prime:333333333333333331
  • Not Prime3333333333333333331
  • Not Prime33333333333333333331
  • Not Prime333333333333333333331
  • Not Prime3333333333333333333331
  • Not Prime33333333333333333333331
  • Not Prime333333333333333333333331
  • Not Prime3333333333333333333333331
  • Not Prime33333333333333333333333331
  • Not Prime333333333333333333333333331
  • Not Prime3333333333333333333333333331
  • Not Prime33333333333333333333333333331
  • Not Prime333333333333333333333333333331
  • Not Prime3333333333333333333333333333331
  • Not Prime33333333333333333333333333333331
  • Not Prime333333333333333333333333333333331
  • Not Prime3333333333333333333333333333333331
  • Not Prime33333333333333333333333333333333331
  • Not Prime333333333333333333333333333333333331
  • Not Prime3333333333333333333333333333333333331
  • Not Prime33333333333333333333333333333333333331
  • Not Prime333333333333333333333333333333333333331
  • Prime:3333333333333333333333333333333333333331
  • Not Prime33333333333333333333333333333333333333331
  • Not Prime333333333333333333333333333333333333333331
  • Not Prime3333333333333333333333333333333333333333331
  • Not Prime33333333333333333333333333333333333333333331
  • Not Prime333333333333333333333333333333333333333333331
  • Not Prime3333333333333333333333333333333333333333333331
  • Not Prime33333333333333333333333333333333333333333333331
  • Not Prime333333333333333333333333333333333333333333333331
  • Not Prime3333333333333333333333333333333333333333333333331
  • Prime:33333333333333333333333333333333333333333333333331
  • Not Prime333333333333333333333333333333333333333333333333331
  • Not Prime3333333333333333333333333333333333333333333333333331
  • Not Prime33333333333333333333333333333333333333333333333333331
  • Not Prime333333333333333333333333333333333333333333333333333331
  • Not Prime3333333333333333333333333333333333333333333333333333331
  • Not Prime33333333333333333333333333333333333333333333333333333331
  • Not Prime333333333333333333333333333333333333333333333333333333331
  • Not Prime3333333333333333333333333333333333333333333333333333333331
  • Not Prime33333333333333333333333333333333333333333333333333333333331
  • Prime:333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333333333333331
  • Prime: 333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Not Prime 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
  • Prime:33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331

答えは、素数は「13個」でした。

ちゃんちゃん。