打印所有可能的8位数字的算法

时间:2013-02-26 23:22:55

标签: algorithm random numbers time-complexity

打印所有可能的8位数字的算法是否需要8个循环?即为时间复杂度提供动力。有没有办法可以减少循环次数?

4 个答案:

答案 0 :(得分:1)

  

有没有办法减少循环次数?

是:

printf("00000000\n");
printf("00000001\n");
printf("00000002\n");
printf("00000003\n");
....

没有循环。只是打字很多。

答案 1 :(得分:1)

让我们尝试单循环

int i;
for (i = 10000000; i < 100000000; i++)
{
    printf("%d\n", i);
}

(假设您的意思是十进制表示,c语言和以非零数字开头的数字)

如果您想打印所有数字,您将无法获得任何加速算法。

答案 2 :(得分:0)

不,没有办法降低复杂性。要生成10 ^ n个输出,您需要迭代10 ^ n次。

答案 3 :(得分:0)

伪codish ...

for val in (10000000..99999999)
    display val

是什么让你认为你需要8个循环?