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);
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。