首页 > 编程知识 正文

判断素数最优算法,miller rabin算法

时间:2023-05-04 00:00:41 阅读:61930 作者:1597

多timod ()函数原理

素数检测'''主要是素数检测f_n_1()函数将n-1分解为2^r*d,奇数为dMultimod ) )函数将Miller_Rabin ) n,k )函数快速幂分解调用前两个函数进行miller _ k k表示错误概率返回True。 结果素数错误概率为[1/4] * * k ] ' ' fromrandomimportrandintdeff _ n _1(n ) :r=0ifn%2==03360n=n/n=0) 3: 2 returnansdefmimii ITER _ num (: #2isprime IFN==2: return true # ifnisevenorlessthan 2,thennisnotaprimeifn1=s=n-1,0 while m1==0: m=m1s=1# m-rtest for _ in range (ITER _ num ) :b=multimod ) randint,n-1 ) n ) IFB==1orb==n-1: continue for _ in range (s-1 ) : b=multimod(b ) b,2, n ) IFB==n-1: break else : returnfalsereturntrue素数生成示例(生产大素数def g_p ) :p=randint )2* * 64,2 * * 65 ) while=

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。