mzxay 发表于 2020-4-29 08:40:43

每日一题

求两个数的最大公因数与最小公倍数的一个程序

WangJS 发表于 2020-4-29 08:40:44

本帖最后由 WangJS 于 2020-4-29 09:03 编辑

def dyxb(m, n):
    if m > n:
      m, n = n, m
    p = m * n
    while m != 0:
      r = n % m
      n = m
      m = r
    return (int(p / n), n)
f = int(input('请输入第一个数:'))
c = int(input('请输入第一个数:'))
j = dyxb(f, c)
print('最小公倍数为:', j)
print('最大公因数为:', j)

Twilight6 发表于 2020-4-29 08:50:16

嘿嘿

Hello. 发表于 2020-4-29 08:55:17

这种题有很多办法,可惜只会用C实现
#include<stdio.h>
int main()
{
        int a = 0;
        int b = 0;
        int c = 0;
        int d = 0;
        printf("请输入两个整数:\n");
        scanf("%d%d", &a, &b);
        d = a * b;
        while(c = a%b)
        {
                a = b;
                b = c;
        }
        c = d / b;
        printf("最大公因数=%d\n", b );
        printf("最小公倍数=%d\n", c);
        getchar();
        return 0;
}

Hello. 发表于 2020-4-29 09:02:32

pyhon三种方法^_^
https://blog.csdn.net/J0Han/article/details/82467335?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-10&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-10

March2615 发表于 2020-4-29 09:03:40

本帖最后由 March2615 于 2020-4-29 09:05 编辑

from math import gcd


def main(x, y):# return (最大公因数,最小公倍数)
    return gcd(x, y), x * y // gcd(x, y)

Twilight6 发表于 2020-4-29 10:14:01

。。。我去怎么这么快结账了,才刚想过来做
页: [1]
查看完整版本: 每日一题