2597 - C二级辅导-公约公倍

通过次数

0

提交次数

0

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

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

题目输入

题目输出

输入/输出样例

输入格式

2 3

输出格式

1
6

C语言解答

#include <stdio.h>

//void desc(int *a, int *b) {
//    if (*a < *b) {
//        int temp = *a;
//        *a = *b;
//        *b = temp;
//    }
//}

int main() {
    int a, b, c;
    scanf("%d%d", &a, &b);
    int bk_a = a, bk_b = b;
    do {
        c = a % b;
        a = b;
        b = c;
    } while (c);
    printf("%d\n%d\n", a, bk_a * bk_b / a);
    return 0;
}

C++解答

#include <stdio.h>
double a[100000];
int gcd(int a,int b)
{
	if(b==0)
	return a;
	else
	return gcd(b,a%b);
}
int main()
{
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		int x=gcd(n,m);
		printf("%d\n%d\n",gcd(n,m),n*m/x);
	}
	return 0;
}