hamming-numbers

    0熱度

    1回答

    這是我的一門課程的作業編程問題。我幾年沒有編程,而且我從一開始就不太好。我目前正在通過教程來加快速度,但這需要一些時間。如果你們能幫我解決這個問題,我會非常感激。 約束: 這個序列的每一項都是形式2^i*3^j*5^k的正整數,對於所有非負整數i, j, and k與 i + j + k >= 1. 不能使用數組。解決這個問題的算法必須涉及列表的重複創建和合並。具體爲5 lists; a fina

    3熱度

    1回答

    Hamming Problem是一個着名的問題,它基本上會生成素數因子僅爲{2,3,5}的所有整數。 (它可以擴展到任何一組的素因子我覺得) 爲了找到的第n個漢明號碼,有一個聰明O(N)通過迪傑斯特拉,其中僞碼是如下構建的算法: List<int> H int i=0,j=0,k=0, n=10 // find the 10-th hamming number H.add(1) for(i=

    14熱度

    4回答

    可能重複: nth ugly number Find the Kth least number for expression (2^x)*(3^y)*(5^z) 我想知道如何在快速和優雅的方式解決這個問題: 我們定義 「醜陋」每個號碼n可以寫成這樣的形式:2^x * 3^y * 5^z ;,其中x,y和z是自然數。找到第1500個醜陋的數字。 例如,第一個「醜陋」的數字是: 1, 2, 3, 4,

    1熱度

    1回答

    我在玩Python 3的功能性能力,並試圖實現用於計算漢明數字的經典算法。這是隻有2,3或5個主要因素的數字。第一個漢明數字是2,3,4,5,6,8,10,12,15,16,18,20等等。 我的實現如下: def scale(s, m): return (x*m for x in s) def merge(s1, s2): it1, it2 = iter(s1), ite