while for 递归 的相互转换
来源:互联网 发布:江苏网络诈骗案件2017 编辑:程序博客网 时间:2024/05/16 15:18
Think in java 的第四章流程控制
之前学习think in java 的第四章流程控制的时候,讲到for;想到所有的for可以用while或者递归表示,之后觉得他们之间是可以相互转换的,所有的递归应该都可以转换为for语句,需要加集合记录;当然只是单纯的运算而已,像字符全排列这种for和递归复合运算,单纯用一种都很麻烦.
/** * 递归 while for f(n) = f(n-1) * f(n-2) //0<n<10 */ private static void f(int n){ System.out.println(forwf(n)); System.out.println(forwf_w(n)); System.out.println(forwf_f(n)); } private static int forwf(int n){ if(n<3) return n; return forwf(n-1) *forwf(n-2); } private static int forwf_w(int n){ ArrayList<Integer> list = new ArrayList<Integer>(); int i = 1; list.add(1); list.add(2); while(n-1>i){ list.add(list.get(i-1) * list.get(i)); i++; } return list.get(n-1); } private static int forwf_f(int n){ ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); for(int i=1;i<n-1;i++){ list.add(list.get(i-1) * list.get(i)); } return list.get(n-1); }
0 0
- while for 递归 的相互转换
- for、while、do while间转换
- while、do-while、for、goto、递归五种方式求一个整数的位数
- 递归与非递归及其相互转换
- 递归与非递归相互转换
- 递归与非递归及其相互转换
- Arcgis for js之WKT和GEOMETRY的相互转换
- for & while 的不同
- 第一个出现且只出现一次的字符(递归 不能使用库函数以及for while)
- 不使用 for , while ,递归,如何解决一道简单的算法题?
- while、do...while、for循环的使用
- for、while、do..while的使用方法
- 字符串的相互转换
- 进制间的相互转换
- 进制间的相互转换
- 进制间的相互转换
- Uri的相互转换
- for与while的区别
- vi/vim手册
- 博客开通
- 小递归
- openssl 证书操作命令
- 二叉树的镜像问题
- while for 递归 的相互转换
- 允许修改svn历史日志记录
- Activity的启动模式与flag详解
- Android 定时更新UI
- 我的Android心得(5)--响铃、震动、状态栏提示
- 浏览器兼容 ie系列 页面整体左偏
- Google Guice 教程
- AT98C51单片机编程实例
- jenkins插件安装