首页 > 代码库 > [BZOJ 2186][Sdoi2008]沙拉公主的困惑(欧拉函数)

[BZOJ 2186][Sdoi2008]沙拉公主的困惑(欧拉函数)

题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2186

分析:

就是要求1~n!中与m!互质的数的个数

首先m!以内的就是φ(m!)

关键是m!~n!中的如何处理

首先要知道一个性质:gcd(a+b,b)=gcd(b,(a+b)%b)=gcd(b,a)=gcd(a,b)

即对于m!内所有与m!互质的数,只要给他们加上m!则也与m!互质且在(m!,n!]范围中,这样对于每个来说则有n!/m!个

所以ans=φ(m!)*(n!/m!)

[BZOJ 2186][Sdoi2008]沙拉公主的困惑(欧拉函数)