C/C++经典程序训练1---最大公约数与最小公倍数

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;}

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

点赞

发表评论

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