中國大學MOOC《程序設計入門-C語言》學習(六):求最大公約數

求最大公約數

問題描述:

用戶輸入兩個整數,輸出其最大公約數。

枚舉法程序:

#include <stdio.h>

int main()
{
	int a, b;
	int i ;
	int c;
	
	scanf("%d %d",&a, &b) ;
	for(i=1; i<=a && i<=b; i++){
		if(a%i == 0 && b%i == 0){
			c = i;
		}
	} 
	printf("%d和%d的最大公約數是%d。\n", a, b, c);
	
	return 0;
}

輾轉相除法程序:

(1)

#include <stdio.h>

int main()
{
	int a, b;
	int c ;
	int a0, b0;
	
	scanf("%d %d",&a, &b) ;
	a0 = a;
	b0 = b;
	while(a % b != 0){
		c = a%b;
		a = b;
		b = c;
		
	}
	printf("%d和%d的最大公約數是%d。\n", a0, b0, b);
	
	return 0;
}

(2)

#include <stdio.h>

int main()
{
	int a, b;
	int c ;
	int a0, b0;
	
	scanf("%d %d",&a, &b) ;
	a0 = a;
	b0 = b;
	while(b != 0){
		c = a%b;
		a = b;
		b = c;
		
	}
	printf("%d和%d的最大公約數是%d。\n", a0, b0, a);
	
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章