手机ipv6地址怎么设置:输入2个正整数m和n,求其最大公约数和最小公倍数。求全解!谢谢!

来源:百度文库 编辑:高校问答 时间:2024/05/09 02:17:42
C语言来编!谢谢

main()
{int p,r,n,m,temp;
printf("请输入两个正整数 n,m:");
scanf("%d,%d",&n,&m);
if(n{temp=n;
n=m;
m=temp;
}
p=n*m;
while(m!=0)
{r=n%m;
n=m;
m=t;
}
printf("它们的最大公约数为:%d\n",n);
printf("它们的最小公倍数为:%d\n",p/n);
}

用欧几里德算法,上数学相关网站应该可以查到。
参考:
int gcd(int a, int b) //最大公约数
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}

int lcm(int a, int b) //最小公倍数
{
return a*b/gcd(a,b);
}

用的什么语言?