题目要求
C语言计算两个自然数的最大公约数和最小公倍数
最大公约数:指两个或多个整数共有约数中最大的一个。
例如:【6和8】6的约数有:1、2、3、6;8的约数有:1、2、4、8。它们共有的约数为:1、2,则6和8的最大公约数为2
最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。
例如:【3和5】3的倍数有3、6、9、12、15、18……;5的倍数有5、10、15……。它们公有的倍数有15、30……,则3和4的最小公倍数为15
C代码
# include <stdio.h>
/* 输入两个非零自然数,计算并分别输出它们的最大公约数和最小公倍数 */
void main(){
int m,n; //输入的两个自然数
int temp; //用来表示最大公约数
int res; //用来存储m*n
printf("请输入两个非零的自然数(以空格区分):\n");
scanf("%d%d",&m,&n);
res = m*n;
while(m!=n)
if(m>n)m-=n;
else n-=m;
temp = m;
printf("最大公约数=%d\n",temp);
printf("最小公倍数=%d\n",res/temp);
}