我正在使用Gödel加密软件,但我遇到了问题。
加密后如何获取代码?例如,符号0
的哥德尔数为6,符号=
的哥德尔数为5.因此,在他们的系统中,公式0 = 0
的哥德尔数为2 ^ 6×3 ^ 5×5 ^ 6 = 243,000,000。
注意:2 ^ 6表示功率6中的2。
//need to make 5+6
int equalsign = 5;
int n5 = 2;
int n6 = 59;
int final;
//do caluclations
final = (Math.Pow(2, 2) * Math.Pow (3, 5) * Math.Pow(5, 59));
Console.WriteLine(final);
如何从243,000,000获得0 = 0
?我有这个问题,有任何建议如何制作或代码?
final = (Math.Pow(2, 2) * Math.Pow (3, 5) * Math.Pow(5, 59));
这也行不通。任何方式如何解决这个问题?
这是哥德尔公式: Image 1
答案 0 :(得分:1)
一般的想法是将数字final
除以当前素数p,只要它可以被p均分。你可以按每个素数均匀划分的次数为你提供了力量。
粗略地说你正在寻找类似下面的伪代码:
code = []
for each prime p:
c = 0
while final % p == 0:
c++
final = final / p
code.append(c)