1694 - C语言程序设计教程(第三版)课后习题6.1

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入两个正整数m和n,求其最大公约数和最小公倍数。

题目输入

两个整数

题目输出

最大公约数,最小公倍数

输入/输出样例

输入格式

5 7

输出格式

1 35

C语言解答

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int a,b,m,q,w;
    scanf("%d%d",&a,&b);
    q=a;
    w=b;

    if(a>b)
    {
       m=b;
       b=a;
       a=m;
    }
    while(a)
    {
        m=b%a;
        b=a;
        a=m;    
    }
    printf("%d %d\n",b,q*w/b);
    

  return 0;
}









C++解答

#include<iostream>
using namespace std;
int main()
{
	int m,n;
	cin>>m>>n;
	int r=m%n,t=m*n;
	while (r)	//辗转相除法
	{
		m=n;
		n=r;
		r=m%n;
	}
	cout<<n<<" "<<t/n<<endl;
	return 0;
}