不会超时的优化解法
#include <iostream>
using namespace std;
int main()
{
int w,h;
cin >> w >> h; //输入宽高
int cnt = 0; //正方形个数
while(w != 0 && h != 0)
{
if(w > h)
{
int k = w/h; //先计算宽是高的几倍,再一次性减掉,避免一次次累减,下面同理
w -= k*h;
cnt += k;
}
else if (w < h)
{
int k = h/w;
h -= k*w;
cnt += k;
}
else
{
w -= h;
cnt += 1;
}
}
cout << cnt;
return 0;
}