输出从1到1000的数

来源:互联网 发布:阿里云自定义镜像 编辑:程序博客网 时间:2024/05/23 20:26

有这样一个面试题——请把从1到1000的数打印出来,但你不能使用任何的循环语句或是条件语句。更不能写1000个printf或是cout用C/C++语言

我相信,大多数人一开始你可能想到的是递归算法:

当然,题目中说了不能使用条件语句,所以,上面那种解法的不符合题意的,因为还是变向地使用了条件表达式。不过,我们可以用别的方法来让这个递归终止,比如:

除以零,当程序crash,呵呵。

还有这样退出递归的:

还有下面这些各种各样的解法:


 

不过,print用得多了一些。我们可以用宏嘛。

不过,我们应该使用C++的一些特性,比如:

使用构造函数

或是更为NB的Template:

最后来个BT一点的:

本文来自: http://stackoverflow.com/q/4568645/89806

原创粉丝点击