自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AC_Gibson的专栏

while(alive) ACing;

  • 博客(8)
  • 收藏
  • 关注

原创 POJ3358 Period of an Infinite Binary Expansion 欧拉定理应用

题目链接:http://poj.org/problem?id=3358题目大意:给出一个小于1的分数,把他转换成二进制形式,并找出小数点到循环部分的最少距离以及循环节的最小长度。分析:对于一个分数n/m,首先我们要把它化成最简形式:分别令n/=gcd(n,m),m/=gcd(n,m)。至于将一个十进制小数化为k进制小数的方法呢,我们有如下代码段(数组bit用来存放对应k进制

2015-07-21 18:40:59 630

原创 POJ3696 The Luckiest number 欧拉函数应用

题目链接:http://poj.org/problem?id=3696题目大意:对于给定的整数L,找出L能整除最短的全8序列的长度,做为Bob的幸运数字。分析:我们设幸运数字是x,由题意可知,长度为x全8序列为:8/9 * (10^x-1)=L * p,即(10^x-1)=9 * L * p/8。令m=9 * L/gcd(L,8),则存在p',使9 * L * p/8=m

2015-07-21 09:38:45 1325

原创 欧拉函数简单应用

题目链接:http://poj.org/problem?id=2407题目大意:求n的欧拉函数。分析:直接模板即可。实现代码如下:#include #include using namespace std;int phi(int n){ int rea=n; for(int i=2;i*i<=n;i++) if(n%i==

2015-07-20 20:11:35 938

原创 HDU4344 Mark the Rope pollard_rho大整数分解应用

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4344题目大意:给出一个长为n(n小于2^63)的管子,现在Eric要在管子上做标记,每隔L个长度单位做一个标记,从管子头端开始,保证最后一次标记恰好在管子的尾端。让你找出有多少个这样的L(L分析:分析一下就可以知道,这题其实就是让找正整数n有多少个素因子。我们用pollard_

2015-07-20 19:04:59 943

原创 POJ2429 GCD & LCM Inverse pollard_rho大整数分解

题目链接:http://poj.org/problem?id=2429题目大意:给出两个数的最大公约数和最小公倍数,让你找出满足条件的两个数,使他们的和最小。分析:我们知道,对于两个数a,b和他们的最大公约数gcd以及最小公倍数lcm,有lcm=a*b/gcd,进一步变形可以得到:(a/gcd * b/gcd)*gcd=lcm,即(a/gcd * b/gcd)=lc

2015-07-20 17:31:36 1167

原创 POJ1811 Prime Test miller_rabin素数测试+pollard_rho整数分解

题目链接:http://poj.org/problem?id=1811题目大意:给定一个大整数(2^54内),判断是否为素数:若为素数,输出primes;否则找出该数的最小质因子。分析:大整数的素数测试用Miller_Rabin测试,分解时可用Pollard-rho大整数分解,然后找出最小的因子即可。实现代码如下:#include #include

2015-07-16 16:16:28 677

原创 Pollard-rho大整数分解

首先低于一般范围的整数分解,我们可以打一个素数表然后用试除的方法对其进行质因子分解。    具体实现代码如下:#include #include #include using namespace std;#define N 65555bool p[N];int prime[N],num=0;void init(){ memset(p,true,sizeof(p));

2015-07-06 11:10:25 3401

原创 Miller-Rabin素数测试

如果要判断一个比较大的数是否为素数,那么此时传统的试除法和筛法显然不再适用,我们引入一种概率型素数判定方法——Miller-Rabin素数测试。    由费马小定理可以知道,若n是素数且a是整数,则满足a^n≡a(mod n).若存在a不满足上式,那么n是合数。由此我们定义伪素数:令a是一正整数,若n是合数且满足a^n≡a(mod n),那么n称为以a为基的伪素数。    Miller-R

2015-07-03 15:54:19 3004

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除