最大公约数(哈工大复试上机)

前言:

21考研,不论能否进复试记录一下准备路上写下的垃圾代码。本来啃《算法笔记》,但是感觉太多了做不完,改做王道机试指南。

题目描述:

输入两个正整数,求其最大公约数。

输入描述

测试数据有多组,每组输入两个正整数。

输出描述:

对于每组输入,请输出其最大公约数。

解答

#include<iostream>
using namespace std;

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

猜你喜欢

转载自blog.csdn.net/weixin_44897291/article/details/113115966