欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Cake HDU 1722

程序员文章站 2022-05-17 20:33:36
...

My blog https://dyingdown.github.io/

Cake

Problem

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

Analysis

本题的公式是 n+m-gcd(n, m), 因为切m+n下会有重叠的,重叠的部分是gcd(m, n),减去重叠的部分就行。

Code

#include<bits/stdc++.h>

using namespace std;

int main(){
	int p, q;
	while(cin >> p >> q){
		cout << p + q - __gcd(p, q) << endl;
	}
	return 0;
}
相关标签: Problem