博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pollard_rho 算法进行质因数分解
阅读量:6816 次
发布时间:2019-06-26

本文共 1001 字,大约阅读时间需要 3 分钟。

1 //************************************************ 2 //pollard_rho 算法进行质因数分解 3 //************************************************ 4  5 LL factor[100];//质因数分解结果(刚返回时是无序的) 6 int tol;////质因数的个数。数组小标从0开始 7  8 LL gcd(LL a,LL b) 9 {10     if(a==0) return 1;//  !!!!11     if(a<0)  return gcd(-a,b);12     while(b)13     {14         LL t=a%b;15         a=b;16         b=t;17     }18     return a;19 }20 21 LL Pollard_rho(LL x,LL c)22 {23     LL i=1,k=2;24     LL x0=rand()%x;25     LL y=x0;26     while(1)27     {28         i++;29         x0=(mult_mod(x0,x0,x)+c)%x;30         LL d=gcd(y-x0,x);31         if(d!=1 && d!=x) return d;32         if(y==x0) return x;33         if(i==k) {y=x0;k+=k;}34     }35 }36 37 //对n进行素因子分解38 39 void findfac(LL n)40 {41     if(Miller_Rabin(n))42     {43         factor[tol++]=n;44         return;45     }46     LL p=n;47     while(p>=n)48     p=Pollard_rho(p,rand()%(n-1)+1);49     findfac(p);50     findfac(n/p);51 }

 

转载于:https://www.cnblogs.com/tom987690183/p/3348474.html

你可能感兴趣的文章
LeetCode: Palindrome Partition
查看>>
推荐使用C++ 11
查看>>
C#中的接口
查看>>
Vue 实例暴露了一些有用的实例属性与方法。这些属性与方法都有前缀 $,以便与代理的 data 属性区分...
查看>>
从零开始做SSH项目(二)
查看>>
spring ioc aop 理解
查看>>
python学习资料
查看>>
JQuery与js具体使用的区别(不全,初学)
查看>>
Hyper-V快速导入虚拟机的两个注意事项
查看>>
【转】getopt模块,实现获取命令行参数
查看>>
安装JDK和配置环境变量
查看>>
C# 正则表达式大全
查看>>
pytorch梯度裁剪(Clipping Gradient):torch.nn.utils.clip_grad_norm
查看>>
【VUE】@click加上v-bind绑定切换类名及动画事件
查看>>
Microsoft发布新一代主机:Xbox One
查看>>
运维经验分享:关于系统运维监控的几点建议
查看>>
jQuery渐隐渐现字体发虚的问题
查看>>
[SDOI2008]烧水问题
查看>>
杂项之rabbitmq
查看>>
【转】关于大型网站技术演进的思考(十)--网站静态化处理—动静整合方案(2)...
查看>>