#include <stdio.h>
int Greatest_commom_divisor(int a,int b);
int The_least_common_mutiple(int a,int b);
int main(int argc, const char * argv[]) {
int a=10,b=8,max,min;
max=Greatest_commom_divisor(a, b);
printf("%d\n",max);
min =The_least_common_mutiple(a, b);
printf("%d\n",min);
return 0;
}
//最大公约数
int Greatest_commom_divisor(int a,int b){
if(a<=0||b<=0)
return -1;
int max;
if(a>b)
max=b;
else
max=a;
while (1) {
if(a%max==0&&b%max==0){
return max;
}
max--;
}
return -1;
}
//最小公倍数
int The_least_common_mutiple(int a,int b){
if(a<=0||b<=0)
return -1;
int min;
if(a>b)
min=a;
else
min=b;
while(1){
if(min%a==0&&min%b==0){
return min;
}
min++;
}
return -1;
}
编程思路:
最大公约数,取两个数中比较小的那一个数的值,然后不断-1,得到他们的约数就是最大公约数
最大公倍数,取两个数中比较大的那一个数的值,然后不断+1,得到他们的倍数就是最小公倍数