有关递归的问题
来源:互联网 发布:情趣内衣淘宝卖家秀 编辑:程序博客网 时间:2024/06/06 19:53
1.一个楼梯有20级,每次走1级或是2级,从底走到顶一共有多少中走法?
算法:
设 n 是阶数,f(n) 是上 n 阶的不同走法数,则第一步可以走一阶或者是两阶,那么这三种情况下剩余的阶数分别为 n-1、n-2,
算法:
设 n 是阶数,f(n) 是上 n 阶的不同走法数,则第一步可以走一阶或者是两阶,那么这三种情况下剩余的阶数分别为 n-1、n-2,
所以 f(n) = f(n-1) + f(n-2)。
#include <iostream>using namespace std;void solution(int n){ int *temp; temp = new int[n]; temp[1] = 1; temp[2] = 2; if(n==0 || n==1) { cout<<1<<endl; return; } else { for(int i=3;i<=n;i++) { temp[i] = temp[i-1]+temp[i-2]; } cout<<temp[n]<<endl; return; }}int main(){ int num; cout<<"input the number:"; cin>>num; solution(num); return 0;}
2。计算小于num的所有质数
#include <iostream>using namespace std;void prime_number(int n){ int *prime; prime = new int[1000]; int k=0; for(int i=3;i<1000;i++) { for(int j=2;j<i;j++) { if(i%j == 0) break; else if((j==i-1) &&(i%j!=0)) { prime[k++]=i; } } } if(n==1) { cout<<1<<endl; return; } else if(n == 2) { cout<<1<<"\t"<<2<<endl; } else { for(int i=0;n>prime[i];i++) { cout<<prime[i]<<"\t"; } delete[] prime; return; }}int main(){ int num; cout<<"input the number:"; cin>>num; prime_number(num); return 0;}
3.不使用中间变量计算字符串长度
#include<iostream>using namespace std;int calculateStringLen(const char *str){ if(*str=='\0') return 0; else { return calculateStringLen(++str)+1; }}int main(){ char *str; int strlen; str = new char[100]; int i=0; cin>>str; strlen = calculateStringLen(str); cout<<strlen<<endl; return 0;}
0 0
- 有关递归的问题
- 有关汉诺塔的算法问题——C++递归
- 有关二叉树的遍历问题非递归
- 有关数组的基础递归
- 有关递归
- 有关递归
- 有关.Net中使用压缩解压缩的问题补充(递归压缩文件夹)
- 关于分治和递归的几点思考 有关全排序问题
- 有关递归的若干例子收集
- 几个有关递归的算法题
- Ruby 有关`迭代器' 与 `递归' 的替换.
- 有关二叉树的递归算法
- 有关JBoss的问题
- 有关网上邻居的问题
- 有关网上邻居的问题
- 有关MMU的问题!
- 有关随机数的问题
- 有关编译的问题
- 利用shell脚本定时完成任务
- BZOJ 2120 带修莫队
- [转]PHP7内核知识
- JSONP跨域的工作原理
- LeetCode-70. Climbing Stairs
- 有关递归的问题
- 子线程中更新UI操作
- html xhtml xml
- 亲测解决小问题的相关网站
- 2017.2.25第二次測試總結
- 1028. List Sorting (25)
- AndroidStudio查看预览的小技巧
- mybatis3--延迟加载,缓存
- 0001 零基础的小白能学会编程吗