数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
123
返回列表 发新帖
楼主: 恶心的狐狸

幂模算法

[复制链接]
 楼主| 发表于 2009-6-17 13:30 | 显示全部楼层

幂模算法

我写了一个递归的 phython的 phython我不熟, 但是又懒得用C语言写,手头没有大数算法库,写有点郁闷. matlab其实也可,但此时没有. awk又不支持这么大的数 #!/usr/bin/env python import random def modexp(x,y,N): if y==0: return 1 z=modexp(x,y/2,N) if y&1==0: return (z*z)%N else: return (x*z*z)%N def fermat(candid): if modexp(2,candid-1,candid)==1: print "fermat passed: ",candid return 1 else: return 0 k=0 s=0 print modexp(911,45646487979878974564446465465464646461313415464647989789652379,45646487979878974564446465465464646461313415464647989789652379); print 2**10000 while k<10000: r=random.randint(2**510,2**512-1) x=fermat(r) s=s+x k=k+1 if x==1: print "k=",k
发表于 2009-6-17 13:30 | 显示全部楼层

幂模算法

下面引用由恶心的狐狸2009/06/17 00:11pm 发表的内容:
呵呵,还真不服气?
判定一下,
9153837170793543235597585083490030479955331292055521168283445592938226952061614515816656193273439207474780594020068103215636057295338785038298689948720343

...
给你判定一下,也让你知道马王爷三只眼:
第一个是素数!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-5-10 04:01 , Processed in 0.090923 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表