打印所有可能的8位数字的算法需要8个for循环吗?即10时间复杂度。有没有办法减少循环次数?打印所有可能的8位数字的算法
回答
不,没有办法降低复杂性。要生成10^n个输出,您需要重复10^n次。
有没有办法可以减少循环次数?
是:
printf("00000000\n");
printf("00000001\n");
printf("00000002\n");
printf("00000003\n");
....
没有循环。只是很多打字。
哈哈,实际上很聪明的回答。我希望它只是讽刺吧 – 2013-02-26 23:30:58
不需要输入全部,你可以用一个循环来生成代码。 – 2013-02-26 23:37:33
让我们尝试单回路
int i;
for (i = 10000000; i < 100000000; i++)
{
printf("%d\n", i);
}
(假设你的意思十进制表示,C语言和数字开头非零数字)
如果你想打印所有的数字,你会不会获得任何加速算法。
伪codish ...
for val in (10000000..99999999)
display val
什么让你觉得你需要8个循环?
如果有一些限制,比如一个数字以4开头,那么4在整个循环中都不能重复。像4804123566不是一个有效的号码。并可能会有更多这样的条件。 – 2013-03-06 03:25:58
并且您的逻辑也具有与我上面提到的相同的复杂性。 – 2013-03-06 03:26:36
这是一个荒谬的评论。你的问题表明你想要“所有可能的数字”。但是,如果需要显示整数的处理,那么使用8循环方法会更好......除了可以使用递归或使用单个循环来实现堆栈之外。这比保留8个循环变量要好,你可以很容易地实现像你提到的特殊规则。 – paddy 2013-03-06 03:33:41
- 1. 用重复的数字打印所有排列的算法
- 2. 如何打印数字的所有可能的序列n
- 3. 用空格替换所有不可打印的UTF-8字符
- 4. 算法生成所有可能的N位数字,其数字递增顺序
- 5. 带字节数组和8位整数的模算法:8位=字节%8位
- 6. 打印数组中字符串对的所有可能组合
- 7. 打印尺寸的所有可能性
- 8. 置换一个字符串打印所有可能的字
- 9. 如何打印多个字符的所有可能的组合?
- 10. 使用数字位数打印所有回文数字
- 11. 计算位数组中1的所有可能位置
- 12. 的VBScript:打印的所有字符的UTF-8
- 13. 计算可打印字符
- 14. PHP中的打印机功能无法打印中文字符(UTF-8)
- 15. 洗牌随机整数,打印所有的可能性
- 16. 查找所有可能位置的算法
- 17. 计算给定数字中的所有可能数字
- 18. 打印从电话号码的数字所有可能的单词
- 19. 打印所有功能 - cakephp
- 20. 打印所有可能的4位消息的汉明(7,4)代码
- 21. 以sprintf科学计数法打印所有有效数字
- 22. 如何计算打印语句中数字的位数?
- 23. 以尽可能高的精度打印8个字符的浮点数
- 24. 如何打印python中的大数字的所有数字?
- 25. 如何打印NASM中的8位值
- 26. 无法打印所有整数值
- 27. 打印字符串的所有变种最有效的方法?
- 28. 打印所有可能的最长减少的子序列
- 29. 打印列表的所有可能的子集
- 30. 从10位数字中获取所有可能的连续4位数字
这是一个强大英俊的图片,赎金。 – 2013-02-27 01:20:32
@ G.Bach,谢谢。这是我为2011年万圣节做的一次表演,现在我几乎感到尴尬,以便制作更精确的肖像。 – 2013-02-27 02:56:53