39.更相减损术

47 阅读1分钟

链接:ac.nowcoder.com/acm/problem…
来源:牛客网

题目描述

利用更相减损术求两个整数的最大公约数,即每次将较大的数变成大数减去小数的值

输入描述:

输入两个正整数,范围在1000000以内

输出描述:

输出一个整数

示例1

输入

4 6

输出

2

注意

题目要求是

1.算出来两个数在相等的情况下

2.每次a和b都需要减少

3.不能定义一个新的变量来接收

代码

#include <bits/stdc++.h>

using namespace std;

int main(){
    int a,b;
    cin >> a >> b;
    while(a!=b){
        if(a > b){
            a = a - b;
        }else{
            b = b - a;
        }
    }
    cout << a;
    
    return 0;
}