C语言:输入两个整数m和n,求它们的最大公约数和最小公倍数。
a)在运行时,输入的值m〉n,观察结果是否正确。b)再输入时,使m<n观察结果是否正确。c)修改程序,不论m和n为何值(包括)负整数,都能得到正确结果。//以下是最大公约...
a)在运行时,输入的值m〉n,观察结果是否正确。
b)再输入时,使m<n观察结果是否正确。
c)修改程序,不论m和n为何值(包括)负整数,都能得到正确结果。
//以下是最大公约数的例子,必须用C语言来编写,C++就不用了; 展开
b)再输入时,使m<n观察结果是否正确。
c)修改程序,不论m和n为何值(包括)负整数,都能得到正确结果。
//以下是最大公约数的例子,必须用C语言来编写,C++就不用了; 展开
3个回答
2013-11-18
展开全部
两个非零整数的最大公约数就是它们绝对值的最大公约数,最小公倍数是它们的积除以最大公约数
#include <stdio.h>
#include <math.h>
int f(int a,int b)
{
int r;
r = a % b;
while(r != 0)
{
a = b;
b = r;
r = a % b;
}
return b;
}
int main()
{
int a, b, r1;
scanf("%d %d", &a, &b);
a=abs(a);
b=abs(b);
r1 = f(a, b);
printf("%d\n",r1); //输出最大公约数
printf("%d\n",a*b/r1); //输出最小公倍数
return 0;
}
#include <stdio.h>
#include <math.h>
int f(int a,int b)
{
int r;
r = a % b;
while(r != 0)
{
a = b;
b = r;
r = a % b;
}
return b;
}
int main()
{
int a, b, r1;
scanf("%d %d", &a, &b);
a=abs(a);
b=abs(b);
r1 = f(a, b);
printf("%d\n",r1); //输出最大公约数
printf("%d\n",a*b/r1); //输出最小公倍数
return 0;
}
2013-11-18
展开全部
#include<stdio.h>
main(){
long int a,b,d;
long int m,n,i,j;
double c,h;
c=1;
scanf("%ld%ld",&m,&n);
if(m>=n){
b=m;
d=n;
}else{b=n;d=m;}
for(i=1;i<=(b/2);i++){
if((m%i==0) && (n%i==0) && (m%n!=0) && (n%m!=0)){
c=c*i;
}else{if(b%d==0){c=d;}}
}
h=(m*n/c);
printf("%.0lf %.0lf",c,h);
return 0;
}
main(){
long int a,b,d;
long int m,n,i,j;
double c,h;
c=1;
scanf("%ld%ld",&m,&n);
if(m>=n){
b=m;
d=n;
}else{b=n;d=m;}
for(i=1;i<=(b/2);i++){
if((m%i==0) && (n%i==0) && (m%n!=0) && (n%m!=0)){
c=c*i;
}else{if(b%d==0){c=d;}}
}
h=(m*n/c);
printf("%.0lf %.0lf",c,h);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-18
展开全部
#include <stdio.h>
int GCD(int a,int b)
{
int r;
r = a % b;
while(r != 0)
{
a = b;
b = r;
r = a % b;
}
return b;
}
int main()
{
int a, b, gcd;
scanf("%i%i", &a, &b);
gcd = GCD(a, b);
printf("gcd = %i",gcd);
return 0;
}
int GCD(int a,int b)
{
int r;
r = a % b;
while(r != 0)
{
a = b;
b = r;
r = a % b;
}
return b;
}
int main()
{
int a, b, gcd;
scanf("%i%i", &a, &b);
gcd = GCD(a, b);
printf("gcd = %i",gcd);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询