hdu1722

链接

一份切成q份需要q刀,切成p份需要p刀;切的部分总会有重复,即gcd(p,q),减去重复部分就是要切的刀数

 1 #include<stdio.h>
 2 int gcd(int n,int m)
 3 {
 4     return m?gcd(m,n%m):n;
 5 }
 6 int main()
 7 {
 8     int n,m;
 9     while(scanf("%d%d",&n,&m)!=EOF)
10     {
11         int k;
12         k=gcd(n,m);
13         printf("%d\n",n+m-k);
14     }
15     return 0;
16 }

时间: 2024-09-30 15:20:04

hdu1722的相关文章

hdu1722 bjfu1258 辗转相除法

这题就是个公式,代码极简单.但我想,真正明白这题原理的人并不多.很多人只是随便网上一搜,找到公式a了就行,其实这样对自己几乎没有提高. 鉴于网上关于这题的解题报告中几乎没有讲解原理的,我就多说几句,也不是严格的证明,给大家分享一下. 题目是说有p人或q人吃蛋糕,需要提前把蛋糕切好而能同时满足这两种情况,使蛋糕的块数最少.为了方便表述,不妨设p < q 首先,记p和q的最小公倍数为m,则把蛋糕平均切成m块,一定是能满足条件的,但这不是最优解,暂记为解法①. 我们的工作就是把解法①的这m块中的一些尽