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