C语言习题5.9--求两个整数的最大公约数和最小公倍数

C语言习题5.9--求两个整数的最大公约数和最小公倍数

时间: 1ms        内存:128M

描述:

写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。

输入:

两个数

输出:

最大公约数 最小公倍数

示例输入:

6 15

示例输出:

3 30

提示:

参考答案(内存最优[748]):

#include<stdio.h>
int main(){int m,n,i,k;scanf("%d%d",&m,&n);for(k=1;k<=(m+n-1);k++){i=m+n-k;if(m%i==0&&n%i==0){printf("%d ",i);break;}}for(k=0;;k++){i=n+k;if(i%n==0&&i%m==0){printf("%d",i);break;}}}

参考答案(时间最优[0]):


#include<stdio.h>
#include"math.h"  
float yishigen(m,n,k)  
float m,n,k;  
{float x1,x2;  
x1=(-n+sqrt(k))/(2*m);  
x2=(-n-sqrt(k))/(2*m);  
printf("x1=%.3f x2=%.3f\n",x1,x2);  
}  
float denggen(m,n)  
float m,n;  
{float x;  
x=-n/(2*m);  
printf("x1=%.3f x2=%.3f\n",x,x);  
}  
float xugen(m,n,k)  
float m,n,k;  
{float x,y;  
x=-n/(2*m);  
y=sqrt(-k)/(2*m);  
printf("x1=%.3f+%.3fi x2=%.3f-%.3fi\n",x,y,x,y);  
}  
main()  
{float a,b,c,q;  
//printf("input a b c is ");  
scanf("%f%f%f",&a,&b,&c);  
//printf("\n");  
q=b*b-4*a*c;  
if(q>0) yishigen(a,b,q);  
else if(q==0) denggen(a,b);  
else xugen(a,b,q);  
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注