题目一:http://acm.hdu.edu.cn/showproblem.php?pid=2866
题意:在区间[2,L]内,有多少个素数p,满足方程有解。
分析:n^b + p*n^(b-1) = m^b ==> n^(b-1)*[n+p]=m^b
因为n里面要么有p因子,要么没有,所以gcd(n^(b-1),n+p)=1或(含有p因子的数)
当gcd(n^(b-1),n+p)== (含有p因子的数)的时候,显然无解,因为假设有解,那么n=K*p , K^(b-1)*p^b*(K+1)
如果希望上面的==m^b,那么K^(b-1) *(K+1)必须能表示成某个数X的b次方,而gcd(K,K+1)=1,所以他们根本就没共同因
子,所以没办法表示成X的b次方,所以gcd(n^(b-1),n+p)=1
假设n=x^b,n+p=y^b,那么显然m=x^(b-1)*y,而p=y^b-x^b
显然(y-x)|p,那么必须有y-x=1,所以y=x+1,代上去就发现,p=(x+1)^b-x ^b。所以枚举x,然后判断p是否是素数即可。
题目四:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=3012
题意:f[1]=1,f[2]=2,f[n]=f[n-1]+f[n-2],定义:,求
通过构造矩阵可以解决:
然后有:降幂即可。
题目五:http://acm.hdu.edu.cn/showproblem.php?pid=3988
题意:给两个数n和k,找一个最大的i使得k^i能整除n!。这里的n与k都很大,10^18
分析:直接对K素因子分解,然后对于每一个素因子,找出在n!中的个数,然后对应相除,找最小的即可。
n!中素因子p的个数一定不会超过LL,这个可以由等比公式求和证明,然后直接素因子分解解决。
题目六:http://poj.openjudge.cn/practice/1046/
题意:给定正整数b,求最大的整数a,满足a*(a+b)为完全平方数,1 <= b <= 10^9
分析:设a,b的最大公约数为g,则g=gcd(a,b)=gcd(a,a+b)
那么有a*(a+b)=g^2*a1*(a1+b1),其中a1与b1互素,由于要为完全平方数,所以可以设x^2=a1,y^2=a1+b1
进而推出:b1=y^2-x^2=(y-x)*(y+x)
现在我们令n=y+x,m=y-x,很明显n>m,由于a1与a1+b1互素,所以有gcd(x^2,y^2)=1,进而有gcd(x,y)=1
所以本题就可以这样做:先求出b的所有约数,这样g就等于b/(b的约数),然后又分别求出b的约数的约数,假设为arr2[j],
由于n>m,我们只需要枚举到sqrt(arr1[i])即可,然后解出x=(n-m)/2,y=(n+m)/2,但是前提是要保证都能整除,然后再
判断gcd(x,y)=1,两层for循环,记录最大值即可。由于因子一般不会很多,所以没有问题。
题目七:2013年通化邀请赛E题
题意:给三个数x,y,z的最大公约数gcd,最小公倍数lcm . 然后求满足的x,y,z有多少种可能。(1,3,2) 和 (1,2,3)被
视为不同。
分析:
首先lcm%gcd == 0是必须的,否则无解。
然后将tmp = lcm/gcd 进行因式分解。假设其中有一个质因子p1的幂为e1,那么着三个数中至少有一个含有p1,至少有一个
不含p1 。如果都含有p1的话他就被分到最大公约数里面去了,不会在tmp里面,如果不含有p1的话,那么p1就一定不会存在
了。
那么对于质因子p1来说 如果有两个含有他的话那么结果为A(3,2)*(e1 - 1) e1可以分成x ,y (x+y = e1 x!=0 && y !
= 0),如果有一个含有它的话那么必定是含有p1^e1次方。如果不是p1^e1次方的话,那么tmp里面的p1的幂也就不是e1了。
题目八:http://acm.hdu.edu.cn/showproblem.php?pid=1098
题意:对于f(x)=5*x^13+13*x^5+k*a*x,给定k,求最小的正整数a满足65|f(x)
对f(x)=x(5*x^12+13*x^4+k*a)用费马小定理定理分析:
(1)如果x是65的倍数,那么已经符合65整除f(x)
(2)如果x是5的倍数,只要5*x^12+13*x^4+k*a被13整除即可,去掉13的倍数13*x^4,也即5*x^12+k*a被13
整除,由费马小定理,5与13互质,13是质数,所以x^(13-1)模13余1,
所以5*x^12模13余5,要使5*x^12+k*a被13整除,k*a必须模13余8(k*a≡8(mod 13))
(3)如果x是13的倍数,类似(2),需要13*x^4+k*a被5整除,由费马小定理类似得到x^4模5余1,所以
13*x^4模5余3,k*a必须模5余2(k*a≡2(mod 5))
(4)如果x不含5和13这两个因子,则需要5*x^12+13*x^4+k*a被65整除了,等价于既要被5整除,又要被13整
除,就相当于以上(2)(3)两种情况的条件要同时满足,所以有k*a≡2(mod 5) 并且 k*a≡8(mod 13)
然后中国剩余定理。
题目十:http://acm.hdu.edu.cn/showproblem.php?pid=3802
题意:求表达式的值,p是奇素数。
分析:前面部分用二次剩余计算勒让德符号即可,后面部分构造矩阵即可。
即:
那么根据特征根为和构造类似斐波那契数列。
得到: