土地分割

问题描述

把一块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;
} 

 

posted @ 2024-04-04 14:54  Hi,小董先生  阅读(259)  评论(0)    收藏  举报