对于可以整除的部分,直接用长边除以短边
对于不可整除的余数部分,再用交替相减得到能拆出的正方形
其中需要注意的是:因为我的判断条件是b<a,所以循环的判断条件只用b不等于0即可,因为会默认把b往0去减(即a,b都等于1时)。
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int n,m;
cin >> n >> m;
int c = max(m,n)/min(m,n);
int a = min(m,n);
int b = min(m%n, n%m);
while(b!=0){
if(b<a) a = a-b;
else b = b-a;
c++;
}
cout << c << endl;
return 0;
}