题意:把 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; } }
时间: 2024-08-10 19:18:59