1. 程式人生 > 其它 >c語言遞迴求最大公約數

c語言遞迴求最大公約數

技術標籤:C語言的練習

求兩個正整數m和n的最大公約數。
輸入樣例1:
6 8
輸出樣例1:
2

//遞迴求最大公約數
#include<stdio.h>

int f(int a,int b)
{
	//比大小,確定被除數和除數 
	//a為被除數,b為除數 
	if(b>a)
	{
		int temp = b;
		b = a;
		a = temp;
	}
	//進行求餘的判斷
	if(a%b==0)
		return b;
	//遞迴
	//a接收b的值,b結束餘數的值	
	else
		return f(b,a%b);
}

int main()
{
	int m,n;
	printf
("請輸入兩個數,用空格分隔:\n"); scanf("%d %d",&m,&n); printf("%d\n",f(m,n)); return 0; }