版权声明:[email protected] https://blog.csdn.net/qq_271334644/article/details/84837588
假设你正在爬楼梯。需要 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));
}