HDU ACM Steps:Cake
程序员文章站
2024-01-15 17:43:22
...
HDU ACM Steps:Cake
题目描述
一次生日Party可能有p人或者q人参加,现准备有一个大蛋糕.问最少要将蛋糕切成多少块(每块大小不一定相等),才能使p人或者q人出席的任何一种情况,都能平均将蛋糕分食.
输入
每行有两个数p和q.
输出
输出最少要将蛋糕切成多少块
输入样例
2 3
输出样例
4
提示
将蛋糕切成大小分别为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块
思路
这道题有一定思维难度,首先我们要认为蛋糕是圆形的,这样切了多少刀就会有多少份蛋糕。
先把一个蛋糕均匀切成2份,再拿另外一个蛋糕切成3份,再把两个蛋糕重合在一起,可以发现切的线有些可以重合。而重合部分就是我们可以少切的刀数,也就是gcd(2,3)(可以通过相遇周期理解)。
因此可以得到这道题的公式a+b-gcd(a,b)。
代码
#include<stdio.h>
int a,b;
int gcd(int x,int y)
{
return y ? gcd(y,x%y) : x;
}
int main()
{
while(~scanf("%d %d",&a,&b))
{
printf("%d\n",a+b-gcd(a,b));
}
return 0;
}
上一篇: -didSelectRowAtIndexPath:不被调用
下一篇: 如何在NSDate中添加1天?
推荐阅读
-
HDU ACM Steps:小数化分数2
-
HDU ACM Steps:Cake
-
『ACM C++』HDU杭电OJ | 1425 - sort (排序函数的特殊应用)
-
【hdu5527】【2015ACM/ICPC亚洲区长春站 】Too Rich
-
『ACM C++』HDU杭电OJ | 1418 - 抱歉 (拓扑学:多面体欧拉定理引申)
-
【hdu 5536】【 2015ACM/ICPC亚洲区长春站 】Chip Factory题意&题解&代码
-
『ACM C++』HDU杭电OJ | 1415 - Jugs (灌水定理引申)
-
Duizi and Shunzi HDU - 6188 (贪心)2017 广西ACM/ICPC
-
『ACM C++』HDU杭电OJ | 1416 - Gizilch (DFS - 深度优先搜索入门)
-
欧拉回路的使用&&http://acm.hdu.edu.cn/showproblem.php?pid=3018