第1个回答 2019-08-16
C++:
#include<iostream.h>
int
invite(int
a,int
b);
int
multiple(int
c,int
d);
void
main(void)
{
int
m,n,t;
cout<<"请输入两个正整数:"<<endl;
cin>>m>>n;
if(m<n)
{
t=m;
m=n;
n=t;
}
cout<<m<<"和"<<n<<"的最小公倍数是"<<invite(m,n)<<endl;
cout<<m<<"和"<<n<<"的最大公约数是"<<multiple(m,n)<<endl;
}
int
invite(int
a,int
b)
{
int
i;
for(i=1;i<=b;i++)
if((i*a)%b==0)
break;
return
(i*a);
}
int
multiple(int
c,int
d)
{
return
(c*d/invite(c,d));
}
C:
include
"stdio.h"
int
gongyue(int
a,int
b);
int
gongbei(int
a,int
b);
void
main()
{
int
a,b,temp,gy,gb;
clrscr();
printf("input
two
numbers
please:");
scanf("%d,%d",&a,&b);
gy
=
gongyue(a,b);
gb
=
gongbei(a,b);
printf("最大公约数:%d\n",gy);
printf("最小公倍数:%d\n",gb);
getch();
}
int
gongyue(int
a,int
b)
{
int
temp;
while(b!=0)
{
temp=a%b;
a=b;
b=temp;
}
return
a;
}
int
gongbei(int
a,int
b)
{
int
num,num1,temp;
num=a;
num1=b;
if(num
>=
num1)
{
temp=num;
num=num1;
num1=temp;
}
temp
=
gongyue(a,b);
return
(num*num1/temp);
}
不明白的发消息给我。用VB也行。
第2个回答 2010-04-22
int min(int num1,int num2,int a)
{
return num1*num2/a;
}
int max(int num1,int num2)
{int a,b;
if(num1<num2)
{ temp=num1;
num1=num2;
num2=temp;
}
a=num1;b=num2;
while(b!=0)/*利用辗除法,直到b为0为止*/
{
temp=a%b;
a=b;
b=temp;
}
return a;
}
main()
{
int a,b,num1,num2,temp;
printf("please input two numbers:\n");
scanf("%d,%d",&num1,&num2);
a=max(num1,num2);
b=min(num1,num2,a);
printf("gongyueshu:%d\n",a);
printf("gongbeishu:%d\n",b);
}
第3个回答 2010-04-22
cin>>x>>y;
min=(x>y)?y:x;
max=(x>y)?x:y;
//最小公倍数
for(i=min;i>0;i--)
if(x%i==0&&y%i==0)break;
//最大公约数
for(i=max;;i+=max)
if(i%x==0&&i%y==0)break;
第4个回答 2020-11-02
C++:
#include
int
invite(int
a,int
b);
int
multiple(int
c,int
d);
void
main(void)
{
int
m,n,t;
cout<<"请输入两个正整数:"<
>m>>n;
if(m
=
num1)
{
temp=num;
num=num1;
num1=temp;
}
temp
=
gongyue(a,b);
return
(num*num1/temp);
}
不明白的发消息给我。用VB也行。