问题标题: 酷町堂:2956 0~~n

0
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追加了内容

顶!


0
已采纳
郑金顺
郑金顺
中级光能
中级光能

用递归会太慢,需用递推

0
我要回答