公约公倍数

2020-12-15 09:45:08 浏览数 (1)

Life is always a high spirited song for the wise, whose theme is always struggle.

生活对于智者永远是一首昂扬的歌,它的主旋律永远是奋斗

帮助小伙伴改的啦:

任务:

题目描述:写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。

输入

两个正整数

输出

最大公约数 最小公倍数

如果输入的数中包含负数,则输出Input Error

输入:

6 15

输出:

3 30

提示:

负数没有最大公约数和最小公倍数。

最大公约数和最小公倍数一定为正数,不可以为负数。

源代码(部分代码):

代码语言:javascript复制
#include<stdio.h>
int main() {
    long long int a, b, num1, num2, temp;//注意要用long long int哦
    scanf("%lld%lld", &num1, &num2);
    if (num1 < 0 || num2 < 0) {
        printf("Input Error");
    } else {
        if(num1 < num2)
        {
            temp = num1;
            num1 = num2;
            num2 = temp;
        }
        a = num1;
        b = num2;
        while (b != 0) {
            temp = a % b;
            a = b;
            b = temp;
        }
        printf("%lld ", a);
        printf("%lld", num1 * num2 / a);
    }
    return 0;
}

要用long long int主要是怕数据溢出。如下:

运行结果:

0 人点赞