定理一:
素数定理:
定理二:设a>1,m,n>0,则
HDU2685就用到上述定理。
定理三:设a>b,(a,b)=1,则
定理四:设,那么G的值为:
n为素数:本身
n有多个素因子:1
n只有一个素因子:该因子
应用题目:HDU2582.
定理五:,其中为斐波那契数列。
定理六:给定A和B,A和B互质,最大不能组合数为A*B-A-B,不能组合数的个数为。
证明:
Gcd(A, B) = 1,Lcm(A, B) = AB
把所有整数划分成A个等价类,每个等价类由相互同余的整数组成任何数分成A个剩余类,分别为 :
Ak,Ak+1,Ak+2,……,Ak+(A-1),分别记为{0(mod A)},{1(mod A)}……
而B的倍数肯定分布在这A个剩余类中,因为Gcd(A,B)=1,所以每个剩余类中都有一些数是B的倍数,并且是平均分配它的
旁证,可见HDOJ 1222 Wolf and Rabbit
设 kmin = min{k|Bk∈{i(mod A)}},i ∈ [0, A)
则 Bkmin 是{i (mod A)}中B的最小倍数。特别的,AB ∈ {0 (mod A)}
Bkmin 是个标志,它表明{i(mod A)}中Bkmin 后面所有数,即Bkmin + jA必定都能被组合出来
那也说明最大不能组合数必定小于Bkmin
我们开始寻找max{ Bkmin },Lcm(A, B) = AB,所以很明显(A-1)B是最大的
因为(A-1)B是Bkmin 中的最大值,所以在剩下的A-1个剩余类中,必定有比它小并且能被A和B组合,这些数就是:
(A-1)B-1,(A-1)B -2,……,(A-1)B -(A-1),所以最大不能被组合数就是(A-1)B -A=AB-A-B
如果A和B不互素,那{1 (mod A)}不能被A组合,同样也不能被B和A组合
我们能求出各个剩余类的Bkmin之后,不能组合数的个数就是每个剩余类中小于各自Bkmin的数的个数总和。
观察如下:A = 5,B = 3
{0(mod 5)}:0,5,10,15……
{1(mod 5)}:1,6,11,16……
{2(mod 5)}:2,7,12,17……
{3(mod 5)}:3,8,13,18……
{4(mod 5)}:4,9,14,19……
红色的就是不能组合数,可以看出在剩余类中它的数目有规律:S = [0+1+2] + [0+1]
因为A和B互质,必有一个不完全周期。
整理后得到结果为:
定理七:
定理八:设,则有以下两个结论成立:
(1)
(2),
典型题目:SPOJ11239 Code:NUMTRYE
--来自苟神 acdreamer
http://blog.csdn.net/acdreamers/article/details/7909480