循环与递归--不使用if,while,for,do—while语句来输出所有比已知数N小的自然数
来源:互联网 发布:kindle usb网络 编辑:程序博客网 时间:2024/04/29 22:29
不用循环的时候,如何用递归解决简单的循环问题!
问题:如何不使用if,while,for,do...while语句来输出所有比已知数N小的自然数。(含0)
这个问题不是我自己想出来的,只是在一个哥们的博客中看到的,这哥们解决这问题的方式居然是用汇编写了个循环。不晓得怎么说他啊。以下是自己在网上搜寻或者自己思考,自己稍加整理的,主要是采用递归,考虑到递归里面最终还会涉及到判断:在不用 if等的情况下,采用了三目运算符。
(1)
#include<iostream>using namespace std;int x=15;int work(int n){cout<< n-1<<endl; return n-1>0 ? work(n-1):0;}int main(void){ return x>0 ? work(x) : 0;}
(2)要终结递归,必然涉及判断,而判断的实质“真”与“假”(即“1”与“0”).要想判断最终n与0的
void MyPrint(int n) /*输出0---N-1*/{ int flag=1; pirntf("%d ",--n); flag=(n>0); //此处也可写为 flag=n-0; switch(flag) { case 1:MyPrint(n);break; case 0:break; }}
(3)根据除法的被除数为0时,异常,退出程序。(不推荐使用)
#include <stdio.h>#define MAX 15int boom;void foo(int n) { boom = 1 / (MAX-n); printf("%d\n", n); foo(n+1);}int main(void) { foo(0); return 0;}
(4)楼下评论一楼 wohaaitinciu的方法:(表示感谢)
#include<iostream>using namespace std;int func(int n){n && func(n - 1);return printf("%d\n", n);}int main(){func(15);return 0;}
(5)个人认为比较猥琐的解法:(利用C++中构造函数输出,一个好友提供的解法)
#include <iostream>using namespace std;static int a = 0;class A{public:A(){cout<<a++<<" ";}};int main( ){A arr[10]; //定义长度为10的数组system("pause");return 0;}
- 循环与递归--不使用if,while,for,do—while语句来输出所有比已知数N小的自然数
- 循环语句For While do-while的小练习
- while语句,do-while与for循环的介绍
- 循环控制语句for while do-while if switch
- while 语句与 if 语句 for循环语句的循环
- while、do...while、for循环的使用
- IF For Do while循环
- 分支语句 循环语句 if,switch,do,while,for分析
- 第二周 任务四 分别使用for,while,do-while循环语句计算 n!
- 循环语句小结 for while do-while
- 循环结构语句---for,while,do-while
- JavaScript while, do while for 循环语句
- 循环语句(for;while;do -while)
- 循环语句(while、do...while、for)
- While() , do{}while(); , for(){} 循环语句的用法
- C语言中循环结构语句 for循环及while,do--while 的使用
- if,continue,break,while,do-while, switch,return,foreach,for等条件语句的使用
- 利用do while循环语句 + while语句 + if语句来进行阶乘计算
- mysql大复习
- 杭电OJ——1085 Holding Bin-Laden Captive!(母函数解答!)
- make clean和 make distclean的区别
- 关于Java的String类型
- 2012-12-07股市集结号【创赢操盘】周五策略
- 循环与递归--不使用if,while,for,do—while语句来输出所有比已知数N小的自然数
- Mysql数据库常用命令
- 数据导出mongoexport和数据导入mongoimport
- Windows Server 2008 R2 中文版 实现两个用户同时登陆
- 电脑故障处理之手机般嗡嗡的响
- 12-7 GridView分页
- s3c6410控制台驱动
- 超市的后台管理
- 在keil中使用printf()函数的要点分析: