我目前正在学习C++。
当我输入数字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)