输入两个正整数m和n,求最小公倍数,与最大公约数

qq_40761793 2017-10-25 11:02:43
#include<stdio.h>
void main()
{
int m(int x,int y);
int a,b,t,p,q;
printf("请输入两个正整数:");
scanf("%d,%d",&p,&q);
if (p==q)
{
printf("最大公约数和最小公倍数均为:%d\n",p);
}
else if(p<q)
{
t=p;
p=q;
q=t;
a=m(p,q);
b=p*q/a; printf("最大公约数为:%d\n",a);
printf("最小公倍数为:%d\n",b);
}
else
{
a=m(p,q); //同上
b=p*q/a;
printf("最大公约数为:%d\n",a);
printf("最小公倍数为:%d\n",b);
}
}
# include<math.h>
int m(int x,int y)
{
int z;
while(y!=0)
{
z=x%y;
x=y;
y=z;
}
return(x) ;
}
/*重点解释第十行以下的程序*/谢谢!!!
...全文
493 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Erice_s 2017-10-31
  • 打赏
  • 举报
回复
gcd(m,n)利用的就是辗转相除的原理
CT8100 2017-10-27
  • 打赏
  • 举报
回复
n=qm+r(欧几里德算法)
ooolinux 2017-10-25
  • 打赏
  • 举报
回复
辗转相除法,初学如果不懂这个可以暂时放过,或者搜索有关的博客看看它的数学原理介绍。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧