题意:把 a*b 的一张矩形的纸不断地折,直到最后得到都是正方形。求得到的正方形的个数。
分析:如果直接模拟的话会超时。所以画图找规律。
代码:
#include<iostream>
#include<cmath>
using namespace std;
long long t,a,b,tmp;
int main()
{
while(cin>>a>>b){
t=0;
if(a<b) swap(a,b);
while(a%b){
t+=a/b;
tmp=a;
a=b;
b=tmp-tmp/b*b;
}
tmp=a/b;
t+=tmp;
cout<<t<<endl;
}
}