c语言 输入两个正整数m和n,求其最大公约数和最小公倍数
展开全部
欧几里得辗转相除
#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;
}
原创 望采纳
#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;
}
原创 望采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询