辗转相除法
#include<stdio.h>
int main()
{ int m,n;//规定m>n
scanf("%d %d",&m,&n);
int r=m%n;//r为余数
int q=m*n;
while(r!=0)
{ m=n;//此时n>r,将n赋给m,r赋给n,进行下一轮除法
n=r;
r=m%n;
}
printf("%d\n",n);//n始终是两个相除的数中较小的数,即最大公约数 printf("%d",q/n);//q为最小公倍数
}
今天复习看到求最大公约数的这个方法,后面是我自己的理解,想分享出来,大家一起探讨,如果哪里有错误,欢迎大家评论,看到了会及时修改的😃
希望期末考个好成绩,大家也是啊。😁
2021-01-07
最新推荐文章于 2022-07-20 20:11:51 发布