TruncatablePrimes

切り捨て可能な素数をさがす。

切り捨て可能な素数とは、上から順に1桁ずつ削っていっても素数でありつづける数である。

https://community.wolfram.com/groups/-/m/t/1569707/?wal_campaign={“campaign”%3A”insider4415_wave1”%2C”keyword”%3A”JPInsider2019-1”%2C”userEmail”%3A”1370”}

from sympy.ntheory.primetest import isprime
queue = []

def CutOffPrime(n, digits):
    for i in range(1,10):
        x = i*10**digits + n
        if isprime(x):
            queue.append([x, digits+1])

CutOffPrime(0,0)
while len(queue) >0:
    x, d = queue.pop(0)
    print(x,d)
    CutOffPrime(x,d)

0を許さない場合、鉛筆に刻んである数が上限のようだ。

10進数以外の数だともっと大きな数になりえるのだろうか。

やってみた。それぞれの進数での、最大の切り捨て可能な素数である。

10進数以上の数はA,B,C,D,E,F,G,…をそれぞれ11、12、13、に読みかえる。

base in decimal number in n-ary number
3 23 212
4 4091 333323
5 7817 222232
6 4836525320399 14141511414451435
7 817337 6642623
8 14005650767869 313636165537775
9 977306389 2462868287
10 357686312646216567629137 357686312646216567629137
11 2276005673 A68822827
12   471A34A164259BA16B324AB8A32B7817
13 812751503 CC4C8C65
14 559569749583683009212625338471 C6143392CCBB3D11AC22CC5543
15 34068645705927662447286191 6C6C2CE2CEEEA4826E642B
16 1088303707153521644968345559987 DBC7FBA24FE6AEC462ABF63B3
17 13563641583101 6C66CC4CC83
18   AF93E41A586HE75A7HHAAB7HE12FG79992GA7741B3D
19 546207129080421139 CIEG86GCEA2C6H
20   FC777G3CG1FIDI9I31IE5FFB379C7A3F6EFID

4進数と5進数は面白い数字がでてくるね。

14、16進数の場合は10進数よりも数値は大きいが、それぞれの進数での表記での桁数は10進数のほうが大きくなる。

ということで、長い鉛筆を作る場合には18進数がおすすめ。

python software 雑記

2019-01-25

Linked from


Edit