打印所有可能的8位数字的算法是否需要8个循环?即为时间复杂度提供动力。有没有办法可以减少循环次数?
答案 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个循环?