20037 更相减损术

题目描述

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

输入格式

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

输出格式

输出一个整数

样例

样例输入

4 6
样例输出

2
数据范围与提示 分类标签

[循环] [最大公约数] [语法基础]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

int a;
int b;
int c;


// The main procedure
int main() {
  cin>>a;
  cin>>b;
  if (a < b) {
    c = a;
    a = b;
    b = c;
  }
  while ((a%b) > 0) {
    c = (a%b);
    a = b;
    b = c;
  }
  cout<<c;
  return 0;
}

Blockly题解代码图片