关于数论中,互质数的最大不能组合数
代码实现没含量,关键看答案是怎么推导出来的,数学证明是关键
http://blog.csdn.net/a601025382s/article/details/10304255,证明,数学基础果然不够啊
#include<cstdio>
#include<algorithm>
#include<cstring>
#define ll long long
using namespace std;
int main()
{
ll a,b;
while (scanf("%lld%lld",&a,&b)!=EOF)
{
printf("%lld %lld\n",a*b-a-b,(a-1)*(b-1)/2);
}
return 0;
}
刚刚发现的一个性质,一个数n,模m的剩余系,如果gcd(n,m)==1,那么可以遍历整个剩余系,推广而论,设gcd(n,m)==k,那么在m的剩余系中,
余数将以k为循环节遍历,而k|m,并且一轮能够遍历到的数量为m/k,所以每一轮就会一个循环,并且不会遍历其他的同余等价类,所以当gcd==1时,
可以以1遍历,所以能够