求两个数的最大公约数和最小公倍数
这。。。完全是一个考人数学的题。。。
基本思想
求两个数的最大公约数
辗转相除法
①对两个数进行比较,将大数赋给a,小数赋给b
①a%b的余数c
②若余数c=0,则b为两个数的做大公约数
若余数c≠0,则将a=b,b=c,再次相除最小公倍数的求法
两整数的乘积%最大公约数
源代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a, b, n, m;
int c,t;
printf("请输入两个数:\n");
scanf("%d %d", &a, &b);
n = a;
m = b;
if (a < b){
t = a;
a = b;
b = t;
}
while (b != 0){
c = a%b;
a = b;
b = c;
}
printf("两个数的最大公约数为:%d\n", a);
printf("两个数的最小公倍数为:%d\n", m*n/a);
system("pause");
return 0;
}