Comment detail

正整数のゲーデル数化? (Nested Flatten)

This comment is reply for 4648 ところてん: こうかな? c=2が美しく無いけど。(正整数のゲーデル数化?). Go to thread root.

全力で問題を勘違いしていた。
素数を生成する部分を追加してみた。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def CreatePrimes(n):
    primes = []
    c = 2
    while len(primes) < n:
        primes.append(c)
        for x in primes[:-1]:
            if c%x == 0:
                primes.pop();
                break
        c += 1
    return primes

def goedel(n):
    result = 1
    primes = CreatePrimes(len(str(n)))
    
    for x in str(n):
        result *= primes[0]**int(x)
        primes = primes[1:]
    return result

print goedel(9)
print goedel(81)
print goedel(230)
print goedel(12345)

Index

Feed

Other

Link

Pathtraq

loading...