hdu 1722 Cake

 

最难还是数学呀...T_T...数学不好的将来会被轰成渣渣吧...T_T...但愿刷题能把智商刷上去。

http://acm.hdu.edu.cn/showproblem.php?pid=1722

百度大神的博客才想明白的...自愧不如...T_T...

  1. 公式q+p-gcd(p,q)  
  2. gcd 求两个数的最大公约数 也就是两种分法重复的部分  
  3. 先把蛋糕分成q份,然后把蛋糕拼在一起,然后再分成p份。 
  4. 分成q份需要切q刀,分成p份需要切p刀,但是会有重复,减去重复的部分就是gcd(p,q) 
 1 #include<stdio.h>
 2 
 3 int Gcd(int m, int n)
 4 {
 5     return m == 0 ? n : Gcd(n % m, m);
 6 }
 7 
 8 int main()
 9 {
10     int m, n;
11     while(scanf("%d%d", &m, &n) != EOF)
12     {
13         printf("%d\n", m + n - Gcd(m, n));
14     }
15     return 0;
16 }


这个求最大公约数的方法简直超神了,一行代码搞定,而且不用判断m,n大小,吓尿....

posted on 2014-07-25 11:38  薛定谔的熊猫  阅读(112)  评论(0编辑  收藏  举报

导航