首页 > 其他分享 >B - Cake

B - Cake

时间:2022-10-18 17:04:38浏览次数:45  
标签:gcd 切成 int 刀数 蛋糕 Cake amp


B - Cake

HPU专题训练(-1)GCD&&素筛&&快速幂_____B - Cake

一次生日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块。

B - Cake_#include


/*
假想一个圆是蛋糕
以蛋糕的中心
若有m个人,则将蛋糕以m刀 平均 切m份
若有n个人,则将蛋糕以n刀 平均 切n份
这其中有重复的刀数
重复的刀数就是m和n的最大公约数
即符合题目要求的最少刀数就是:
m+n-gcd(m,n)
*/


#include<stdio.h>
int gcd(int a,int b)
{
return !b?a:gcd(b,a%b);
}
int main()
{
int p,q;
while(scanf("%d %d",&p,&q)!=EOF)
{
printf("%d\n",p+q-gcd(p,q));
}
return 0;
}


标签:gcd,切成,int,刀数,蛋糕,Cake,amp
From: https://blog.51cto.com/u_15834888/5767606

相关文章