公式:m+n -gcd(m,n);
参考blog:http://blog.csdn.net/cqjianx/article/details/7831743
- /*
- 公式q+p-gcd(p,q)
- gcd 求两个数的最大公约数 也就是两种分法重复的部分
- 先把蛋糕分成q份,然后把蛋糕拼在一起,然后再分成p份。
- 分成q份需要切q刀,分成p份需要切p刀,但是会有重复,减去重复的部分就是gcd(p,q)
- 我也是看了http://blog.csdn.net/niushuai666/article/details/7011139才明白的
- */
http://blog.csdn.net/niushuai666/article/details/7011139
http://blog.sina.com.cn/s/blog_6ec19c780100xmi3.html
#include <stdio.h>
int Ecluid(int a,int b){
if(a%b == 0){
return b;
}else{
Ecluid(b,a%b);
}
}
int main(int argc, char *argv[])
{
//FILE *fp;
//fp = freopen("in.txt","r",stdin);
int test_case,m,n;
while(~scanf("%d%d",&m,&n)){
printf("%d\n",m+n - Ecluid(m,n));
}
return 0;
}