早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言求两个数m、n的最大公约数。(带注释)

题目详情
C语言求两个数m、n的最大公约数。(带注释)
▼优质解答
答案和解析
<1> 用辗转相除法(欧几里德法)求最大公约数
算法描述:
m用n求余为a, 若a不等于0
则 m = n, n = a, 继续求余
否则(即若a为0) n 为最大公约数gcd(int a, int b)
{
int t;
if (a < b) t=a,a=b,b=t;
if (b == 0) return a;
else
t= a%b;
while (t!= 0)
{
a=b;
b=t;
t=a%b;
}
return b;
}
main()
{
int a,b;
printf("输入两个数字:");
scanf("%d%d",&a,&b);
printf("%d",gcd(a,b));
}
看了C语言求两个数m、n的最大公约...的网友还看了以下: