当前位置: 首页 > news >正文

PoRho模板

以O(n^(1/4))的复杂度对一个数进行质因子分解

无敌了已经

ll ksc(int a,int b,int p){ll z = (long double)a/p*b;ll res =(ull)a*b -(ull)(z*p);return (res+p)%p;
}
int ksm(int a,int b,int p){int res=1;while(b){if(b&1)res=ksc(res,a,p);a=ksc(a,a,p);b>>=1;}return res%p;
}
int mr(int a,int p){if(ksm(a,p-1,p)!=1)return 0;int x= p-1,y=0;while(x%2==0){x>>=1;y=ksm(a,x,p);if(y!=1&&y!=p-1)return 0;if(y==p-1)return 1;}return 1;
}
int isprime(int x){if(x<2)return 0;if(x==2||x==3||x==5||x==7||x==43)return 1;return mr(2,x)&&mr(3,x)&&mr(5,x)&&mr(7,x)&&mr(43,x);
}
int rho(int n){ll x,y,z,c,g;ll i,j;//f(x) =x*x + c//gcd(abs(y-x),n)>1 => 找到非平凡因子while(1){x=y=rand()%n;z=1;c=rand()%n;i=0;j=1;while(++i){x=(ksc(x,x,n)+c)%n;z=ksc(z,abs(y-x),n);if(x==y||!z)break;if(!(i%127)||i==j){g=__gcd(z,n);if(g>1)return g;if(i==j)y=x,j<<=1;}}}
}
vector<int>v;
void work(int n){if(n==1)return;if(isprime(n)){v.pb(n);return;}int pi = rho(n);while(n%pi==0)n/=pi;work(pi);work(n);
}
http://www.sczhlp.com/news/25525/

相关文章:

  • 飞算JavaAI:赋能开发者的智能化开发新范式#飞算JavaAI炫技赛 #Java开发
  • HTML meta name=color-scheme:自动适配系统深色 / 浅色模式
  • 背包DP:从入门到入机
  • 第 12 章 集合
  • 网站建设中企动力优色盲测试图看图技巧
  • 有哪些好的做网站搜索关键词
  • 中国电信网站备案 密码重置新闻稿件代发平台
  • 设计装饰公司排名网站优化技巧
  • 制作一个网站流程网站开发合同
  • wordpress轻量级插件seo推广营销靠谱
  • 日本网页游戏网站世界营销大师排名
  • 西宁公司官方网站建设写一篇软文多少钱
  • 使用DeepState与Eclipser进行模糊测试:单元测试的新突破
  • DAY 16
  • 福建省做鞋批发网站优化大师有必要安装吗
  • 网站用表格做的吗百度助手免费下载
  • 做擦边球网站赚钱么google chrome网页版
  • 网站设计网站建设专业免费个人主页网站
  • 哪个网站可以做c 的项目我想注册一个网站怎么注册
  • 福州做网站建设传智播客培训机构官网
  • 东莞专业做外贸网站的公司百度账号客服人工电话
  • 营销型单页面网站制作百度网站大全
  • php网站开发 知乎重庆seo网站运营
  • 4.5.6版本如期而至~快来了解新功能
  • 牛津研究如何影响AI公平性检测技术
  • solidity学习之AMM
  • 02020101 .NET Core入门01-学前说明
  • 360制作网站优化网站排名方法教程
  • 在哪里做网站效果好优化推广排名网站教程
  • 品牌型网站建设理论优质的seo快速排名优化