使用欧几里德算法就是
点超链接跳到原作者的博客
我自己的代码
#include<stdio.h>
int main()
{
int i,a,b,t;
printf("Please input two numbers:");
scanf("%d%d",&a,&b);
long k;
k=a*b;
if(a<b)
{
t=a;
a=b;
b=t;
}
i=a%b;
while(i!=0)
{
a=b;
b=i;
i=a%b;
}
printf("The greatest common divisor is %d;\nthe least common multiple is %ld",b,k/b);
}
没用算法的代码
#include<stdio.h>
int main()
{
int i,a,b,t;
printf("Please input two numbers:");
scanf("%d%d",&a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
for(i=a;i>1;i--)//for(i=a-b;i>1;i--)能少点是点
{
if(a%i==0&&b%i==0)
{
printf("The greatest common divisor is %d;\nthe least common multiple is %d",i,a*b/i);
break;
}
}
}