一个人上楼,他有两种走法,走一阶或走两阶,问他上N阶楼梯有几种走法?

原创 2013年10月16日 11:32:48
#include "stdafx.h"

 int f(int n)
 {  
  if(n==1)
  {
     return 1; 
  }
  else if(n==2)
  {
     return 2;
  }
  else
  {
     return f(n-1)+ f(n-2);
  }
 }
int _tmain(int argc, _TCHAR* argv[])
{
	int n;
	while(1)
	{
		printf("请输入n");
		scanf("%d",&n);
		printf("%d\n",f(n));
	}
	return 0;
}


经过阿泽同学的指导,发现上面那个算法不可行,运算时间过长

修改过后如下

// demo2.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
double m[100]={0.0};
 double f(int n)
 {  
  if(n==1)
  {
     return 1.0; 
  }
  else if(n==2)
  {
     return 2.0;
  }
  if(m[n]>0)
	  return m[n];
  return  m[n]=f(n-1)+ f(n-2);
 }
int _tmain(int argc, _TCHAR* argv[])
{
	int n;
	while(1)
	{
		printf("请输入n");
		scanf("%d",&n);
		printf("%.0f\n",f(n));
	}
	return 0;
}


 

问题五十七: 楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编程序计算共有多少种不同的走法?

/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * All rights reserved. * 文件名称...

一个人走一个n阶的楼梯,他一步可以走1阶,2阶,3阶,这三种情况,问走完这n阶的楼梯共有多少种不同的走法?

当时脑子不够用,10级楼梯嘛,每一次至少走一步,走完10步最多10次,那么用10个循环可以搞定,够傻逼的吧,看下面。 int method_num = 0; int judge_num = 0; ...
  • xhyzdai
  • xhyzdai
  • 2013年01月28日 20:57
  • 2301

腾讯面试题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法

腾讯面试题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法【原】 有个同学去了腾讯,他说面试时有这么一道思维题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法...
  • xxcios
  • xxcios
  • 2013年08月21日 09:14
  • 1443

n个楼梯,一次可以走1个,2个,,,n个楼梯,打印所有走法

思路: 1.首先将问题分解,分别算出1步,2步,,n步走完的走法。然后累加。这样问题就变为n个楼梯,m步走完,有哪些走法。 2.由于每步所走的楼梯数必须大于1,所以第1步最多只能走...

(hdu step 3.1.1)超级楼梯(简单递推:从第1级到第m级有多少种走法,每次只能走一步或两步)

在写题解之前给自己打一下广告哈~。。抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下:http://edu.csdn.net/course/detail/209题目:超级楼梯Time Limi...

【面试题】N阶台阶的走法种数问题(分支思想)

【面试题】在一些技术面试中,经常会有N阶台阶每次走一步或两步,问有多少种走法的题目,实际上就是斐波那契数列算法,在此本人通过分支思想进行统计方法数。...

04_N阶楼梯上楼问题、输入一个ip地址串,判断是否合法、输入一个四行五列的矩阵,找出每列最大的两个数

1. 题目描述: N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归) 输入: 输入包括一个整数N,(1 输出: 可能有多组测试数据,对于每组数据, 输出当楼梯阶...

n级阶梯,每次走一步或两步,问最多有多少种走法

遇到这道题两次了,现在来总结下。      方法一:运用组合数学的思想。假设在整个过程中,我有k次走了两步,那么剩下的n-2k次我走的都是一步,那么我总的走的步数是k+n-2k。则结果为从n-k里面...

面试算法题:爬楼梯,N级楼梯有多少种走法?

By Long Luo个人博客链接最近去面试时,在一家小公司面试时,公司小BOSS给我出了一道算法题:一个人爬楼梯,一步可以迈一级,二级,三级台阶,如果楼梯有N级,要求编写程序,求总共有多少种走法。 ...

【面试题】N级台阶(比如100级),每次可走1步或者2步,求总共有多少种走法?

走台阶算法(本质上是斐波那契数列)在面试中常会遇到,描述就如题目那样:总共100级台阶(任意级都行),小明每次可选择走1步、2步或者3步,问走完这100级台阶总共有多少种走法?一、 题目分析这个问题本...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个人上楼,他有两种走法,走一阶或走两阶,问他上N阶楼梯有几种走法?
举报原因:
原因补充:

(最多只允许输入30个字)