洛谷:P2660 zzc 种田(数学,递归)

题目:

在这里插入图片描述

分析:我想的是每次拆去最大的正方形。

看题解也没证明。

代码:

#include<bits/stdc++.h>
using namespace std;
long long f(long long x,long long y)
{
 //x大  y 小
 if(x<y) swap(x,y);
 if(x==y) return 4*x;
 if(x%y==0) return x/y*y*4;
 return x/y*y*4+f(x%y,y);
}
int main()
{
 long long x,y;
 cin>>x>>y;
 cout<<f(x,y);
}

猜你喜欢

转载自blog.csdn.net/weixin_42721412/article/details/108300443