杭电1722:
有题目意思可知:
具体思路:因为有两张情况当为q 时,就把蛋糕分为q 份,当为p时,就分为p 分,由此可知,一块蛋糕在人数不同时,不可能两次都切在同一个位置,因此可以先求出
#include<iostream>
#include<cstdio>
using namespace std;
int gacd(int x,int y)
{
int i,k,s=1;
if(x>y)
k=y;
else
k=x;
for(i=2;i<=k;i++)
{
if(x%i==0&&y%i==0)
s=i;
}
return s;
}
int main()
{
int p,q;
while(scanf("%d%d",&p,&q)!=EOF)
{
int sum=p+q-gacd(p,q);
printf("%d\n",sum);
}
return 0;
}
p,q,的公约数,因为公约数为两次切的相同的数量,即当两次分别得出结果时,再相加,再减去相同的部分,因此得出结果!