小编Jae*_*ong的帖子

查找汉明数 - 不是代码或距离

我目前正在学习C++。

我正在寻找汉明数(质因数小于或等于 5 的 数字)。

当我输入数字n时,程序应该输出第 n个汉明数。

输入和输出以下数字:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 ...
Run Code Online (Sandbox Code Playgroud)

查找汉明数看起来很容易,但增加输入数会成倍增加运行时间成本。

如果我输入超过1000,则几乎花费超过1秒,超过1200,则几乎花费超过5秒。

这是我写的代码:

while (th > 1)
{
    h++;
    x = h;

    while (x % 2 == 0)
        x /= 2;
    while (x % 3 == …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm performance time-complexity hamming-numbers

5
推荐指数
1
解决办法
5772
查看次数