C/C++经典程序训练1---最大公约数与最小公倍数
时间: 1ms 内存:64M
描述:
输入两个整数,求它们的最大公约数与最小公倍数。
输入:
输入两个整数
输出:
第一行输出最大公约数;
第二行输出最小公倍数;
示例输入:
64
48
示例输出:
16
192
提示:
参考答案(内存最优[748]):
#include<stdio.h>
int main()
{
int m, n, i, j, s;
i = 1;
scanf("%d %d", &m,&n);
for (;i <= m&&i <= n; i++)
{
if (m%i == 0&&n%i == 0)
s = i;
}
if (m >= n)
j = m;
else
j = n;
for(;!(j%m == 0&&j%n == 0); j++);
printf("%d\n%d\n",s,j);
}
参考答案(时间最优[0]):
#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\n",i);break;}}
for(k=0;;k++){i=n+k;
if(i%n==0&&i%m==0){
printf("%d",i);break;}}
return 0;}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。