poj1181 大数分解
//Accepted 164 KB 422 ms //类似poj2429 大数分解 #include <cstdio> #include <cstring> #include <ctime> #include <time.h> #include <iostream> #include <algorithm> using namespace std; ; __int64 gcd(__int64 a,__int64 b) { ) return a; return gcd(b,a%b); } __int64 mult_mod(__int64 a,__int64 b,__int64 p) { __int64 res=,temp=a%p; while (b) { ) { res+=temp; if (res>=p) res-=p; } temp<<=; if (temp>=p) temp-=p; b>>=; } return res; } __int64 exp_mod(__int64 a,__int64 b,__int64 p) { __int64 res=,exp=a%p; ) { ) res=mult_mod(res,exp,p); exp=mult_mod(exp,exp,p); b>>=; } return res; } bool miller_rabin(__int64 n,__int64 times) { ) return true; || !(n&)) return false; __int64 a,u=n-,x,y; ; ==) { t++; u/=; } srand(time()); ;i<times;i++) { a=rand()%(n-)+; x=exp_mod(a,u,n); ;j<t;j++) { y=mult_mod(x,x,n); && x!= && x!=n-) return false; x=y; } ) return false; } return true; } __int64 pollar_rho(__int64 n,int c) { __int64 x,y,d,i=,k=; srand(time()); x=rand()%(n-)+; y=x; while (true) { i++; x=(mult_mod(x,x,n)+c)%n; d=gcd(y-x,n); && d<n) return d; if (y==x) return n; if (i==k) { y=x; k<<=; } } } __int64 min_ans; void findMinFactor(__int64 n,int c) { ) return ; )) { if (n<min_ans) min_ans=n; return ; } __int64 p=n; while (p>=n) p=pollar_rho(p,c--); findMinFactor(p,c); findMinFactor(n/p,c); } int main() { int T; scanf("%d",&T); while (T--) { __int64 n; scanf("%I64d",&n); )==true) { printf("Prime\n"); } else { min_ans=inf; findMinFactor(n,); printf("%I64d\n",min_ans); } } ; }
poj1181 大数分解的更多相关文章
- HDU4344(大数分解)
题目:Mark the Rope 题意就是给一个数,然后求这个数的所有因子中组成的最大的一个子集,其中1和本身除外,使得在这个子集中元素两两互素,求最大子集的元素个 数,并且求出和最大的值. 找规律就 ...
- poj 1811 随机素数和大数分解(模板)
Sample Input 2 5 10 Sample Output Prime 2 模板学习: 判断是否是素数,数据很大,所以用miller,不是的话再用pollard rho分解 miller : ...
- Pollard_Rho大数分解模板题 pku-2191
题意:给你一个数n, 定义m=2k-1, {k|1<=k<=n},并且 k为素数; 当m为合数时,求分解为质因数,输出格式如下:47 * 178481 = 8388607 = ( ...
- poj 1811 大数分解
模板 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> ...
- poj 2429 Pollard_rho大数分解
先对lcm/gcd进行分解,问题转变为从因子中选出一些数相乘,剩下的数也相乘,要求和最小. 这里能够直接搜索,注意一个问题,因为同样因子不能分配给两边(会改变gcd)所以能够将同样因子合并,这种话,搜 ...
- 模板题Pollard_Rho大数分解 A - Prime Test POJ - 1811
题意:是素数就输出Prime,不是就输出最小因子. #include <cstdio> #include<time.h> #include <algorithm> ...
- 【模板】SPOJ FACT0 大数分解 miller-rabin & pollard-rho
http://www.spoj.com/problems/FACT0/en/ 给一个小于1e15的数,将他分解. miller-rabin & pollard-rho模板 #include & ...
- 数学--数论---P4718 Pollard-Rho算法 大数分解
P4718 [模板]Pollard-Rho算法 题目描述 MillerRabin算法是一种高效的质数判断方法.虽然是一种不确定的质数判断法,但是在选择多种底数的情况下,正确率是可以接受的.Pollar ...
- poj2429 大数分解+dfs
//Accepted 172 KB 172 ms //该程序为随机性算法,运行时间不定 #include <cstdio> #include <cstring> #includ ...
随机推荐
- CAS原理全面分析
http://blog.chinaunix.net/uid-22816738-id-3525939.html 上文对CAS各方面原理做了很详细.很明了分析,包括CAS架构.认证协议.安全性.登录.认证 ...
- jmeter 使用URL重写处理用户会话
如果您的web应用程序使用URL重写而不是cookie保存会话信息, 那么你需要做一些额外的工作来测试你的网站. 正确应对URL重写,JMeter需要解析HTML 接收从服务器和检索独特的会话ID,使 ...
- [saiku] 配置spring-security 允许 iframe加载saiku首页
最近提出了一个需求:在一个iframe中展现saiku首页 呵呵,这还不简单. 直接<iframe src="http://localhost:8080/saiku" /&g ...
- log4j配置文件的详解
1.配置根Logger,其语法为: log4j.rootLogger = [ level ] , appenderName, appenderName, … 其中,level 是日志记录的优先级,分为 ...
- placehold.it-在线图片生成器(转载)
做网站的时候 如果 有的产品等客户没有上传图片,可以用这个网站生成的图片 并配以文字进行图片的占位 以免造成页面的空挡或者页面错位等 原文地址:http://www.cnblogs.com/xumen ...
- SO修改
FUNCTION Z_SD_SALESORDER_CHANGE1. *"----------------------------------------------------------- ...
- 客户信贷管理&临时授信
信贷额度的组成:假如某客户信用限额1万:开出销售订单时锁定1万:一旦发货1万,销售订单1万限额释放,变成发货锁定限额1万.一旦开票,发货1万限额释放,应收锁定1万限额.清帐成功,应收释放1万.信用限额 ...
- android关于uses-permission权限列表
在编写Android程序时经常会忘记添加权限,下面是网上收集的关于Androiduses-permission的资料,方便查找~ android.permission.ACCESS_CHECKIN_P ...
- spring bean初始化顺序
转载:http://blog.csdn.net/heyutao007/article/details/50326793 常用的设定方式有以下三种:通过实现 InitializingBean/Dispo ...
- webapi方式
随笔 - 112 文章 - 0 评论 - 334 ASP.NET MVC学习系列(二)-WebAPI请求 继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前 ...