您的位置:首页 > 其它

hdu acmsteps 2.1.3 cake

2011-08-06 20:18 281 查看
举个例子:4 6,用一个矩形来切割,如下图



蓝色点线表示4等分线 红色实线表示6等分线,让蛋糕(矩形)可以平分为4份需要(4刀)和6份需要(6刀),总共需要10刀,但因为其中有两条线是重合的,没有必要切两次,所以应该减掉这两刀,就只剩下

10-2=8刀了。对于任何p和q,他们重合的线的数量就是他们的GCD,所以就~~~~~

看完题  一点思路都没有  看了这个基本明白了。。解释的很巧妙。。所以先转载过来,公式是p+q-gcd(p,q)

源地址:http://hi.baidu.com/yzy%D1%EE%D7%D3%D1%DC/blog/item/d1ee96be84e1f20018d81f46.html/cmtid/d63e8e3e91fdcecd7c1e714b

代码很简单:

#include <iostream>
#include <stdio.h>
using namespace std;
int gcd(int a,int b)
{
if(b==0)return a;
else return gcd(b,a%b);
}
int main()
{
int p,q;
while(cin>>p>>q)
{
cout<<p+q-gcd(p,q)<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c