nobleman

加油王先生__

HDU - 1722 Cake【gcd】

Cake

Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5827 Accepted Submission(s): 2857

Problem Description

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

Author

LL
题意: 略
分析: 假设现在一个蛋糕上切p块,然后合上,然后在切p块,切的时候肯定会有重合的(因为都是从0开始切),答案也即是 p + q - gcd(p,q)

参考代码

#include <bits/stdc++.h>
using namespace std;
int main () {
    int a,b;
    while (~scanf("%d%d", &a, &b)) {
        printf("%d\n", a + b - __gcd(a, b));
    }
    return 0;
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nobleman__/article/details/79977793
文章标签: gcd
个人分类: HDU 集合 数论水题
上一篇14th SWJTUCPC Warming Up A chess Problem 【easy】【medium】【hard】【组合数 + lucas】
下一篇组合数——Lucas 基础学习整理【陆续更新】
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭