问题描述
把一块m*n米的土地分割成同样大的正方形,如果要求没有土地剩余,分割出的正方形土地最大边长是多少米?(最少不能少于1米)
如:一块6米 * 4米的土地,能够分割的最大的正方形的边长为2米。
输入描述
两个整数m和n(m,n ≤ 1018)
输出描述
能够分割的最大正方形的边长。
输入样例
6 4
输出样例
2
代码示例
#include<bits/stdc++.h> using namespace std; // 此问题可以转化为计算两个数的最大公约数。 long long gys(long long m, long long n) { if(n%m == 0) return m; return gys(n%m, m); } int main() { long long m, n; cin >> m >> n; if(m > n) swap(m, n); cout << gys(m, n); return 0; }
标签:分割,return,long,土地,正方形,边长 From: https://www.cnblogs.com/dks0313/p/18114194