//最大公约数(最大公因数)就是几个数公有的因数中最大的一个。最小公倍数就是几个数公有的倍数中最小的一个。
//求俩个数的最大公约数:使用欧几里得算法实现
#include <stdio.h>
#include <conio.h>
void gcd(int a,int b);
int main()
{
int a,b,t;
printf("please enter two number:\n");
scanf("%d%d",&a,&b);
//将大数赋给a,小数赋给b
if(a<b)
{
t=a;
a=b;
b=t;
}
gcd(a,b);
return 0;
}
void gcd(int a,int b)
{
int m,n,r;
m=a;
n=b;
r=m%n;
//m和n的最大公约数(m大于n)等于n和r的最大公约数
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
printf("the result is %d",n);
}
//求俩个数的最小公倍数:俩个数的最小公倍数等于这俩个数的积与最大公约数的比。
#include <stdio.h>
#include <conio.h>
int gcd(int a,int b);
int main()
{
int a,b,t;
printf("please enter two number:\n");
scanf("%d%d",&a,&b);
//将大数赋给a,小数赋给b
if(a<b)
{
t=a;
a=b;
b=t;
}
t=gcd(a,b);
//俩个数的最小公倍数等于这俩个数的积与最大公约数的比。
printf("the result is %d",a*b/t);
return 0;
}
int gcd(int a,int b)
{
int m,n,r;
m=a;
n=b;
r=m%n;
//m和n的最大公约数等于n和r的最大公约数
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
return n;
}