【python网易】最小倍众数

2019-08-21  本文已影响0人  阿牛02

题目:给定5个正整数, 它们的最小的众倍数是指的能够被其中至少三个数整除的最小正整数。 给定5个不同的正整数, 请计算输出它们的最小众倍数。

输入描述:

输入包括一行,一行中有五个各不相同的正整数a, b, c, d, e(1 ≤ a, b, c, d, e ≤ 100), 以空格分割

输出描述:

输出一个整数,表示它们的最小众倍数

输入

1 2 3 4 5

输出

4

code:

# 使用hash表,先遍历i,再遍历n,并将n*a[i]这一索引存入hash表格中,

# 最后输出hash表中有等于3的索引 

def minZ(lis):

    hashTable = dict()

    n = 1

    while n:

        for i in range(0, 5):

            if n * lis[i] not in hashTable:

                # get() 函数返回指定键的值,如果值不在字典中返回默认值

                hashTable[n * lis[i]] = 1

            else:

                hashTable[n * lis[i]] += 1

            if hashTable[n * lis[i]] > 2:

                return n * lis[i]

        n += 1

if __name__ == "__main__":

    lis = [1, 2, 3, 4, 5]

    print(minZ(lis))

上一篇 下一篇

猜你喜欢

热点阅读