1解题思路:
辗转相除法又称为欧几里德算法。这个方法大家已经都已经在数学上学过了。具体的步骤就是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。最后的除数就是这两个数的最大公约数。举个例子就是:比如两个数字,x=453,y=36;
453%36=21;
36%21=15;
21%15=6;
15%6=3;
6%3=0;
%是取余符号,大家应该都知道吧。所以用这个算法可以求出453和36的最大公约数是3;
2代码如下:
#include<stdio.h>
int main()
{
int a,b,c,t,x;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
t=a*b;
while(b!=0)
{
if(a>b)
{
c=a%b;
if(c==0)
{
printf("最大公约数为:%d\n",b);
x=t/b;
printf("最小公倍数为:%d",x);
}
a=b;
b=c;
}
else
{
c=b%a;
if(c==0)
{
printf("最大公约数为:%d\n",a);
x=t/a;
printf("最小公倍数为:%d",x);
}
b=a;
a=c;
}
}
return 0;
}制作不易,一键三连,不会私聊
3运行代码:
4总结:
感谢各位的阅读,以上就是“C语言怎么利用辗转相除法求最大公约数和最小公倍数”的内容了,经过本文的学习后,相信大家对C语言这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是CSDN杰克尼,小编将为大家推送更多相关知识点的文章,欢迎关注!