标签:font ima mamicode std floor 逆序输出 alt 参考 计算
逆序思维
当爬到第K级台阶时,上一步只有两种可能,一种是位于K-1,一种是位于K-2
参考https://www.luogu.com.cn/blog/user7117/solution-p1255
#include<iostream> #include<string> using namespace std; const int Max = 5050; int n, len = 1, f[Max][Max]; void floor(int k) { int i; for (i = 1; i <= len; i ++) f[k][i] = f[k - 1][i] + f[k - 2][i]; //套用计算公式 for (i = 1; i <= len; i ++) if (f[k][i] >= 10) //进位 { f[k][i + 1] += f[k][i] / 10; f[k][i] %= 10; if (f[k][len + 1]) len ++; } } int main() { int i; cin >> n; f[1][1] = 1; //初始化 f[2][1] = 2; cin >> n; for (i = 3; i <= n; i ++) //从3开始避免越界 floor(i); for (i = len; i > 0; i --) //逆序输出 cout << f[n][i]; return 0; }
标签:font ima mamicode std floor 逆序输出 alt 参考 计算
原文地址:https://www.cnblogs.com/Es-war/p/12449890.html