c++代码实现(时限1秒):有一个数字n(n<=1e9),设f(n)为当n<=20时,f(n)=n,否则f(n)=f(n-10)+f(n-20),请你求出最后f(n)的值,输入样例 23 输出样例 16 输入样例 114514191 输出样例 380435595
时间: 2023-12-14 13:05:10 浏览: 119
c++的一个秒表示例
4星 · 用户满意度95%
下面是一份递归实现的 C++ 代码,可能会超时,可以尝试将其改为非递归实现来优化:
```c++
#include <iostream>
using namespace std;
long long f(int n) {
if (n <= 20) {
return n;
} else {
return f(n - 10) + f(n - 20);
}
}
int main() {
int n;
cin >> n;
cout << f(n) << endl;
return 0;
}
```
阅读全文