C语言和java实现且面条(均用递归实现)
来源:互联网 发布:招数据员要求 编辑:程序博客网 时间:2024/04/29 18:03
/* 一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢? -------------------------------------------对折0次,得到2根:1*2 = 2对折1次,得到2 * 2 - 1 = 3对折2次,得到3 * 2 - 1 = 5 对折3次,得到5 * 2 - 1 = 9对折4次,得到9 * 2 - 1 = 17对折5次,得到17 * 2 - 1 = 33对折6次,得到33 * 2 - 1 = 65对折7次,得到65 * 2 - 1 = 129对折8次,得到129 * 2 - 1 = 257对折9次,得到257 * 2 - 1 = 513对折10次,得到513 * 2 - 1 = 1025*///规律即是:对折n次,得到的面条是上一次的条数*2-1,所以考虑递归实现//Java实现public class Main {public static int F(int n){if(n==0)return 2;return 2*F(n-1)-1;}public static void main(String[] args) {System.out.println("对折10次得到"+Main.F(10)+"根面条");}}//C语言实现#include<stdio.h>#include<stdlib.h>int result(int n){if(n==0){return 2;//不对折,直接切开就是2条 }else{return result(n-1)*2-1;//得到的面条是上一次的条数*2-1}}int main() {printf("对折十次得到的面条数目是:%d\n",result(10));}
0 0
- C语言和java实现且面条(均用递归实现)
- 【C语言】递归实现。
- C语言实现-递归
- Java实现C语言语义分析(递归下降)
- 快速排序C语言实现(递归)和希尔排序
- 二分查找递归和非递归实现(c语言实现)
- C语言递归和非递归实现字符串反转
- C语言:递归和非递归实现二分查找
- 递归和非递归分别实现strlen(C语言)
- C语言程序-递归和非递归分别实现strlen
- 递归和尾递归(C实现)
- 递归实现出入排序(C语言)
- (C语言)递归实现字符串反转
- 用递归实现组合——c语言(转)
- 用 C 语言实现 厄密多项式 (递归)
- C语言实现递归算法
- 用纯C语言实现快速排序,分递归调用法和非递归调用法。
- 二叉树遍历的递归和非递归实现(C语言)
- android学习第1篇:windows下android环境搭建:adt-bundle
- Android APK安装包瘦身法则
- 【Linux学习】epoll详解
- struts的jsonp调用
- C++编程练习(001)
- C语言和java实现且面条(均用递归实现)
- 动态规划之最长公共子序列
- JAVA Eclipse下如何导入jar包(1)
- Unity 3D 如何修改默认的编译器?
- Storm实例:实时单词计数
- 二分查找_递归版_while版
- php开发规范
- java线程池学习
- app扁平化风格