rt
递归代码:30分
#include<bits/stdc++.h>
using namespace std;
long long x,y,a,b,ans,c,d;
void dp(int m,int n)
{
if(m!=0&&n!=0)
{
a=max(m,n);
b=min(m,n);
c=a/b;
ans+=4*b*c;
dp(b,a-b*c);
}
}
int main()
{
cin>>x>>y;
dp(x,y);
cout<<ans;
return 0;
}
循环代码:Ac
#include<bits/stdc++.h>
using namespace std;
long long a,b,ans,c,d,n,m;
int main()
{
cin>>m>>n;
while(m!=0&&n!=0)
{
a=max(m,n);
b=min(m,n);
c=a/b;
ans+=4*b*c;
m=a-b*c;n=b;
}
cout<<ans;
return 0;
}
求助!!!