博文视点有奖答题第二题:青蛙跳台阶问题
来源:互联网 发布:淘宝怎么拒收 编辑:程序博客网 时间:2024/05/17 02:53
博文视点有奖答题第二题:青蛙跳台阶问题(1)一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。(2)一只青蛙一次可以跳上1级台阶,也可以跳上2 级……它也可以跳上n 级,此时该青蛙跳上一个n级的台阶总共有多少种跳法?
#include <stdio.h>#include <stdlib.h>int main(int ac, int* av[]){int num_steps, result;printf("Please input the num of steps\n");scanf("%d", &num_steps);result = 0;result += cal_steps(num_steps);printf("There are %d ways for the frog to pass %d steps.\n", result, num_steps);}int cal_steps(int n){int i, j, *a;a = (int*)malloc(n * sizeof(int));a[0] = 1;a[1] = 2;for(i=2; i<n; i++){for(j=0; j<i; j++)a[i] += a[j];a[i] += 1;}return a[n-1];}int cal_steps_two(int n){int i, pre, result, tmp;if(n == 1) return 1;if(n == 2) return 2;if(n > 2){pre = 1;result = 2;for(i=2; i<n; i++){tmp = result;result = result + pre;pre = tmp;}}return result;}int cal_steps_recursive(int n){int steps;steps = 0;if((n == 0) || (n < 0)){return 0;}if(n == 1)return 1;if(n == 2)return 2;if(n > 2){steps += cal_steps(n-1) + cal_steps(n-2);}return steps;}
- 博文视点有奖答题第二题:青蛙跳台阶问题
- 博文视点有奖答题第二题:青蛙跳台阶问题
- 博文视点有奖答题第一题:二维数组中的查找
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- 青蛙跳台阶问题
- HDU1254 推箱子 BFS+优先队列
- WindowsAPI的时间结构体、时间转换及时间获取
- 搜索
- 【那些年,我们一起追的女孩】第六章
- android学习笔记17:文字设置
- 博文视点有奖答题第二题:青蛙跳台阶问题
- General overview of architecture of TI's Davinci 8168 SoC
- 深入剖析Tomcat(How Tomcat Works)
- 12招jQuery常用技巧
- servlet的定义及其生命周期
- (转)linux shell 字符串操作(长度,查找,替换)详解
- WM C# 查找进程是否在运行的三种方法
- 博文视点有奖答题第一题:二维数组中的查找
- MFC Unicode 和多字节字符集 (MBCS) 支持