急:C++编程:求两正整数的最大公约数和最小公倍数,用一个函数求最大公约数,另外一个函数求最小公倍数。
答案:4 悬赏:70 手机版
解决时间 2021-11-15 02:38
- 提问者网友:星軌
- 2021-11-14 10:19
急:C++编程:求两正整数的最大公约数和最小公倍数,用一个函数求最大公约数,另外一个函数求最小公倍数。
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-11-14 10:45
#include
int max(int m,int n);
int min(int m,int n);
int x,y; //x为最大公约数,y为最小公倍数
void main()
{
int m,n;
cout<<"请输入2个正整数:";
cin>>m>>n;
cout<<"最大公约数为"< }
int max(int m,int n)
{
int t=0;
if(m>n)
{
for(int i=n;i>0;i--)
{
if(m%i==0&&n%i==0)
{
x=i;
break;
}
}
}
else
{
for(int i=m;i>0;i--)
{
if(m%i==0&&n%i==0)
{
x=i;
break;
}
}
}
return x;
}
int min(int m,int n)
{
max(m,n);
y=m*n/x;
return y;
}
应该没有问题~~~
int max(int m,int n);
int min(int m,int n);
int x,y; //x为最大公约数,y为最小公倍数
void main()
{
int m,n;
cout<<"请输入2个正整数:";
cin>>m>>n;
cout<<"最大公约数为"<
int max(int m,int n)
{
int t=0;
if(m>n)
{
for(int i=n;i>0;i--)
{
if(m%i==0&&n%i==0)
{
x=i;
break;
}
}
}
else
{
for(int i=m;i>0;i--)
{
if(m%i==0&&n%i==0)
{
x=i;
break;
}
}
}
return x;
}
int min(int m,int n)
{
max(m,n);
y=m*n/x;
return y;
}
应该没有问题~~~
全部回答
- 1楼网友:神也偏爱
- 2021-11-14 14:15
用C语言可以吗?我没学过C++;
下面是我写的程序和运行的结果:
#include
int gongyueshu(int x, int y);
int gongbeishu(int x, int y);
int yueshu, beishu;
int main()
{
int x, y;
while(scanf("%d %d", &x, &y)==2)
{
yueshu=gongyueshu(x, y);
beishu=gongbeishu(x, y);
printf("%d,%d的最大公约数是%d ", x, y, yueshu);
printf("%d,%d的最小公倍数是%d ", x, y, beishu);
}
}
int gongyueshu(int x, int y)
{
int z;
while(z!=0)
{
z=x%y;
x=y;
y=z;
}
return x;
}
int gongbeishu(int x, int y)
{
return x*y/yueshu;
}
- 2楼网友:刀戟声无边
- 2021-11-14 12:37
#include
void main()
{int a,b,num1,num2,temp;
scanf("%d %d",&num1,&num2);
if(num1 a=num1;b=num2;
while(b!=0)
{temp=a%b;
a=b;
b=temp;}
printf("%d\n",a);
printf("%d\n",num1*num2/a);
}
void main()
{int a,b,num1,num2,temp;
scanf("%d %d",&num1,&num2);
if(num1
while(b!=0)
{temp=a%b;
a=b;
b=temp;}
printf("%d\n",a);
printf("%d\n",num1*num2/a);
}
- 3楼网友:洎扰庸人
- 2021-11-14 11:34
int gcd(int x,int y)
{
long int z;
if(x%y==0)
z=y;
else
z=gcd(y,x%y);
return z;
}
#include "stdio.h"
main()
{
int gcd(int x,int y);//求最大公约数的递归函数
int m,n,c,d,i,temp;//c为最大公约数,d为最大公倍数
scanf("%d %d",&m,&n);
if(m {
temp=m;
m=n;
n=temp;
}
c=gcd(m,n);
for(i=1;;i++)
{
if(i%m==0&&m%n==0)
d=i;
break;
}
printf("%d %d\n",c,d);
}追问咋不对呢
{
long int z;
if(x%y==0)
z=y;
else
z=gcd(y,x%y);
return z;
}
#include "stdio.h"
main()
{
int gcd(int x,int y);//求最大公约数的递归函数
int m,n,c,d,i,temp;//c为最大公约数,d为最大公倍数
scanf("%d %d",&m,&n);
if(m
temp=m;
m=n;
n=temp;
}
c=gcd(m,n);
for(i=1;;i++)
{
if(i%m==0&&m%n==0)
d=i;
break;
}
printf("%d %d\n",c,d);
}追问咋不对呢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯