1. 程式人生 > >爬樓梯問題演算法

爬樓梯問題演算法

假設你正在爬樓梯。需要 n 階你才能到達樓頂。

每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?

注意:給定 n 是一個正整數。

首先分析這道題

 

 

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int climbStairs(int n) {
	if (n == 1 || n == 2 ) {
		return n;
	}
	int  n1 = 1; 
	int  n2 = 2; 
	int  add = 0;
	for (int i = 3; i <=n; ++i) {
		add = n1 + n2;
		n1 = n2;
		n2 = add;
	}
	return add;
}
int main() {
	int x = 0;
	scanf("%d", &x);
	printf("%d", climbStairs(x));

}