问题描述
把一块m*n米的土地分割成同样大的正方形,如果要求没有土地剩余,分割出的正方形土地最大边长是多少米?(最少不能少于1米*1米)
如:一块6米 * 4米的土地,能够分割的最大的正方形的边长为2米。(5.2.45)
输入
两个整数m和n(m,n <= 1018)
输出
能够分割的最大正方形的边长
样例
输入
6 4
输出
2
编辑代码
语言 C++
代码:
#include <bits/stdc++.h>
#include<string>
#include<algorithm>
using namespace std;
long long sh(long long n,long long m){
if(n<m) swap(n,m);
if(n%m==0){
return m;
}
else{
return sh(m,n%m);
}
}
int main(){
long long n,m;
cin>>n>>m;
if(n<m) swap(n,m);
cout<<sh(n,m);
}
制作不易,记得一键三连哦!