用c++语言写一个程序,输入两个正整数m,n,求其最大公约数与最小公倍数? 10

一道课后习题... 一道课后习题 展开
 我来答
顽玉_南明离火
2014-11-02 · TA获得超过250个赞
知道小有建树答主
回答量:242
采纳率:0%
帮助的人:139万
展开全部
#include<iostream>
using namespace std;
int m,n;
int gcd(int u,int v)
{
int k=1,t;
while(~u&1 && ~v&1)k<<=1,u>>=1,v>>=1;
t=(u&1)?-v:u>>1;
do{
while(~t&1)t>>=1;
if(t>0)u=t;else v=-t;
}while(t=u-v);
return u*k;
}
int main()
{cin>>m>>n;
cout<<gcd(m,n)<<endl;//最大公约数
cout<<(m*n)/gcd(m,n)<<endl;//最小公倍数
return 0;}
追问
看不懂,我想要低级一点,这些语言太高级了,if,while什么的可以用,就是gcd什么的就不要用了
追答
int gcd(int a,int b)//求最大公约数
{
if(a<b)
return gcd(b,a);
if(a%b==0)
return b;
return gcd(b,a%b);
}

gcd只是求两个数的最大公约数的函数而已,这个就写成了递归的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式