开会前2分钟,写一下,不知道是不是最佳算法,好奇市场上比特币的算法是怎么样的,应该是相似的解决方案:
Int m,n,j;
list f;
f.add(1);
set j=2;
for 1<j<m
n=m/j;
if n*j=m
f.add(j);
m=n;
j=2;
else
j=j+1;
####m is the 512 digit number.
开会前2分钟,写一下,不知道是不是最佳算法,好奇市场上比特币的算法是怎么样的,应该是相似的解决方案:
Int m,n,j;
list f;
f.add(1);
set j=2;
for 1<j<m
n=m/j;
if n*j=m
f.add(j);
m=n;
j=2;
else
j=j+1;
####m is the 512 digit number.
•
我有点糊涂了,512位的数能放
-TTFAN-
♂
(47 bytes)
()
01/16/2018 postreply
06:21:22
•
假设可以用gmp位数用Library解决,简单sieve谁都会
-tibuko-
♂
(0 bytes)
()
01/16/2018 postreply
06:26:54
•
不需要这么复杂吧?等我有空再想想,直觉应该有更简单的办法。
-edison11-
♂
(0 bytes)
()
01/16/2018 postreply
07:08:10
•
确实不复杂,就是等不到结果,看这个
-tibuko-
♂
(78 bytes)
()
01/16/2018 postreply
07:56:51
•
老了啊,这么容易就被人逮住了!Long也只是32位,原来陷阱在这里。
-edison11-
♂
(0 bytes)
()
01/16/2018 postreply
06:35:11
•
查了一下,用Python可以实现,如果机器内存够大。
-edison11-
♂
(0 bytes)
()
01/16/2018 postreply
11:10:29