南郵編程在線編程題十三:最大公約數 -开发者知识库

南郵編程在線編程題十三:最大公約數 -开发者知识库,第1张

題目轉自南郵編程在線:njupt.housecode.cc

實現求兩個正整數的最大公約數。

說明:(1)從鍵盤輸入兩個正整數;

(2)輸出這兩個正整數的最大公約數;

測試用例:輸入

測試用例:輸出

345 258< 回車 >

gcd=3

33 33< 回車 >

gcd=33

24 72< 回車 >

gcd=24


代碼如下:

#include <stdio.h>
int main()
{
	int a, b, r = 1, gcd;
	scanf("%d%d", &a, &b);
	while(r != 0){             //使用輾轉相除法求最大公約數 
		if(b > a){
			int i = b;
			b = a;
			a = i;
		}
		gcd = b;
		r = a % b;
		a = b;
		b = r;
	}
	printf("gcd=%d", gcd);
	return 0;
}

本題考察了while循環語句和求最大公約數的輾轉相除法(歐幾里得算法)

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复