c语言 输入两个正整数m和n,求其最大公约数和最小公倍数

 我来答
彤寄竹朴鹃
2019-05-14 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:34%
帮助的人:2252万
展开全部
分三种情况:1、当m、n是互质数时,最大公约数是1,最小公倍数是它们的乘积。
2、当m、n成倍数关系如:m为20,n为5时,最大公约数是m,最小公倍数是n。
3、当m、n既不互质、也不是倍数关系时,如24和16,最大公约数是8,最小公倍
数是48。
强片留名
2012-02-09 · TA获得超过227个赞
知道答主
回答量:74
采纳率:0%
帮助的人:68万
展开全部
欧几里得辗转相除
#include<cstdio>
using namespace std;
int GCD (int a,int b)
{
return b?GCD(b,a%b):a;
}
int main
{
int a=4,b=6;
printf("最大公约数%d,最小公倍数%d\n",GCD(a,b),(a*b)/GCD(a,b));
return 0;
}
原创 望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun_siliang
2012-02-09 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4548万
展开全部
#include <iostream>
using namespace std;
int main()
{
int p,r,n,m,temp;
cout<<"请输入两个正整数n,m:"<<endl;
cin>>m>>n;
if (n<m)
{
temp=n;
n=m;
m=temp;
}
p=n*m;
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
cout<<"它们的最大公约数为:"<<n<<endl;
cout<<"它们的最小公约数为:"<<p/n<<endl;
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友28b4182
2012-02-09 · TA获得超过7222个赞
知道大有可为答主
回答量:4847
采纳率:100%
帮助的人:1812万
展开全部
#include<stdio.h>
int gcd(int n,int m){return n%m?gcd(m,n%m):m;}
int main()
{
int n,m;
int d;
scanf("%d%d",&n,&m);
d=gcd(n,m);//求最大公约数
printf("%d %d\n",d,n/d*m);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伟大还惬意丶银杏I
高粉答主

2020-05-25 · 每个回答都超有意思的
知道答主
回答量:6.8万
采纳率:0%
帮助的人:3250万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式