如何将下面代码里的递归函数改为循环,望能帮忙改写,不胜感谢

2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2011年4月 Java大版内专家分月排行榜第二2010年8月 Java大版内专家分月排行榜第二2010年5月 Java大版内专家分月排行榜第二2008年2月 Java大版内专家分月排行榜第二2007年7月 Java大版内专家分月排行榜第二
2011年2月 Java大版内专家分月排行榜第三2010年9月 Java大版内专家分月排行榜第三2008年9月 Java大版内专家分月排行榜第三2008年1月 Java大版内专家分月排行榜第三2007年11月 Java大版内专家分月排行榜第三2007年9月 Java大版内专家分月排行榜第三
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。(点击上方公众号,可快速关注)来源:伯乐在线 - 伯小乐链接:/22100/在 Quora 上看到有个程序员的提问:如果不用循环、递归、goto,我如何才能用 C++ 从 1 打印到 100 ?原题主问的是用 C++ 来实现。【 更新】:补充国外程序员的一些方案:Mark Gordon, ICPC 2011 Gold Medalist (msg555)第一种:#include &stdlib.h&intmain(){&&/* Cross your fingers and hope seq exists! */&&returnsystem("seq 1 100");}第二种:下面这个方案在我电脑上没问题,但不保证你们电脑上也OK#include &iostream&#include &stdlib.h&intnum;void(**rptr)();voidfoo(){&&if(num &= 100)exit(0);&&std::cout && ++num && std::endl;&&*rptr++ = foo;}intmain(){&&rptr = (void(**)())alloca(sizeof(*rptr) * 200) - 1;&&foo();&&return0;}第三种:#include &iostream&#include &stdlib.h&intmain(){&&intx = 0;&&x |= !fork() && 0;&&x |= !fork() && 1;&&x |= !fork() && 2;&&x |= !fork() && 3;&&x |= !fork() && 4;&&x |= !fork() && 5;&&x |= !fork() && 6;&&if(1 &= x && x &= 100)std::cout && x && std::endl;&&return0;}第四种:similar to bashing templates you can bash the preprocessor#include &stdio.h&#define F4 "%dn%dn%dn%dn"#define F20 F4 F4 F4 F4 F4#define F100 F20 F20 F20 F20 F20#define X4(y) , y, y + 1, y + 2, y + 3#define X20(y) X4(y) X4(y + 4) X4(y + 8) X4(y + 12) X4(y + 16)#define X100(y) X20(y) X20(y + 20) X20(y + 40) X20(y + 60) X20(y + 80)intmain(){&&printf(F100 X100(1));&&return0;}第五种:Advanced preprocessor bashing#if (__COUNTER__ == 0)#include &stdio.h&intmain(){&&#include __FILE__&&return0;}#elif (__COUNTER__ & 300)printf("%dn",__COUNTER__ / 3);#include __FILE__#endifDivye Kapoor 的补充:Mark Gordon 给出了一些非常好的方案,我也来补充一些第六种:Using the alarm system call.#include &stdio.h&#include &stdlib.h&#include &unistd.h&<span style="box-sizing: border- font-family: height: font-size: inherit ! line-height: inherit !
程序员的那些事(iProgrammer)
 文章为作者独立观点,不代表大不六文章网立场
iProgrammer最有影响力的程序员自媒体,关注程序员相关话题:IT技术、IT职场、在线课程、学习资源等。热门文章最新文章iProgrammer最有影响力的程序员自媒体,关注程序员相关话题:IT技术、IT职场、在线课程、学习资源等。&&&&违法和不良信息举报电话:183-
举报邮箱:Copyright(C)2017 大不六文章网

我要回帖

更多关于 递归函数 的文章

 

随机推荐