0
已解决
张恩泽
高级天翼
高级天翼
2956 0~~n 经验值:1600
题目描述 Description
现有一个数n,需要从0开始增加,每次可以增加1或2
编一个程序,计算从0增加到n共有多少种不同的方法。
输入描述 Input Description
一个数字n。
输出描述 Output Description
方法数。
样例输入 Sample Input
4
样例输出 Sample Output
5
数据范围及提示 Data Size & Hint
用递归会太慢,需用递推
(60% N<=50 ,100% N<=5000)
//CODE
//#pragma GCC optimize(3)
//#include <bits/stdc++.h>
#include <iostream>
#include <cstdio>
using namespace std;
int n;
int d(int x) {
if (x <= 1) {
return 1;
}
return d(x - 1) + d(x - 2);
}
int main() {
// freopen ("题目名.in", "r", stdin);
// freopen ("题目名.out", "w", stdout);
cin >> n;
cout << d(n);
// fclose (stdin);
// fclose (stdout);
return 0;//好习惯!
}
超时代码如上
张恩泽在2020-12-13 13:45:23追加了内容
顶!