Cake

来源:互联网 发布:淘宝助理上传图片错误 编辑:程序博客网 时间:2024/06/06 02:53
Time limit
1000 ms
Memory limit
32768 kB
OS

Windows

一次生日Party可能有p人或者q人参加,现准备有一个大蛋糕.问最少要将蛋糕切成多少块(每块大小不一定相等),才能使p人或者q人出席的任何一种情况,都能平均将蛋糕分食.
Input
每行有两个数p和q.
Output
输出最少要将蛋糕切成多少块.
Sample Input
2 3
Sample Output
4          
Hint
将蛋糕切成大小分别为1/3,1/3,1/6,1/6的四块即满足要求.当2个人来时,每人可以吃1/3+1/6=1/2 , 1/2块。当3个人来时,每人可以吃1/6+1/6=1/3 , 1/3, 1/3块。

思路 :因为每次都是均分 第一次分要a刀,第二次分要b刀;但是 会有重复的刀需要减去,重复的个数即gcd(a,,b);

代码

#include<stdio.h>
int gcd(int a,int b)
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
int a,b;
while(~scanf("%d%d",&a,&b))
{
printf("%d\n",a+b-gcd(a,b));
}
}

0 0
原创粉丝点击