/*
公式q+p-gcd(p,q)
gcd 求两个数的最大公约数 也就是两种分法重复的部分
先把蛋糕分成q份,然后把蛋糕拼在一起,然后再分成p份。
分成q份需要切q刀,分成p份需要切p刀,但是会有重复,减去重复的部分就是gcd(p,q)
我也是看了http://blog.csdn.net/niushuai666/article/details/7011139才明白的
*/
#include <stdio.h>
int gcd(int m,int n)
{
int a=m;
while(m!=0)
{
a=n%m;
n=m;
m=a;
}
return n;
}
int main()
{
int p,q,x;
while(scanf("%d%d",&p,&q)!=-1)
{
printf("%d\n",p+q-gcd(p,q));
}
return 0;
}
hdu 1722 Cake
最新推荐文章于 2019-08-20 14:47:09 发布