作业帮 > 综合 > 作业

5280和2155的最大公约数是多少 用辗转相除法 拜托了 要详细

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/29 10:58:58
5280和2155的最大公约数是多少 用辗转相除法 拜托了 要详细

5280和2155的最大公约数是多少 用辗转相除法 拜托了 要详细
/*题目:输入两个正整数,求其最大公约数.*/
#include <stdio.h>
unsigned gcd ( unsigned,unsigned ) ;
int main( void )
{
unsigned m,n;
printf("请输入两个正整数:");
scanf("%u%u",&m,&n);
printf("%u与%u的最大公约数为:%u\n",m,n,gcd ( m,n ) );
return 0;
}
/* 功能:返回正整数m和n的最大公约数*/
unsigned gcd ( unsigned m,unsigned n )
{
unsigned temp;
if (m<n)
{
temp=m;
m=n;
n=temp;
}
if ( m % n == 0)
{
return n;
}
else
{
return gcd ( n,m % n) ;
}
}
再问: 看不懂啊,这不是辗转相除法吧 请写出过程
再答: 设两数为a、b(b1),则m=kn+xd=kyd+xd=(ky+x)d,则a=mc=(ky+x)dc,b=nc=ycd,故a与b最大公约数成为cd,而非c,与前面结论矛盾】 从而可知gcd(b,r)=c,继而gcd(a,b)=gcd(b,r)。 证毕。
再问: 我要的是这道题的过程,我自己原来算错了。现在弄懂了 。。不过还是谢谢了