代码区:
#include<algorithm>
#include<iostream>
#include<vector>
/*高精度
1—4
和
2-5由图像可知它是对称的,即如果两个数差值相同,其结果就是一样的
m->n
可看成
n-m=x-1
x=n-n+1即看成1->n-n+1的路线
*/
using namespace std;
vector<int> qiuhe(vector<int>& a, vector<int>& b) {
if (a.size() < b.size()) {
return qiuhe(b, a);
}
vector<int> c;
int t=0;
for (int i = 0; i < a.size(); i++) {
t += a[i];
if (i < b.size()) {
t += b[i];
}
c.push_back(t % 10);
t = t / 10;
}
if (t) {
c.push_back(t);
}
return c;
};
int main() {
int m, n;
cin >> m >> n;
vector<vector<int>> dp(n -m +1);
dp[0] = { 1 };
dp[1] = { 1 };
for (int i = 2; i < n - m + 1; i++) {
dp[i] = qiuhe(dp[i - 1], dp[i - 2]);
}
for (int i = dp[n - m].size() - 1; i >= 0; i--) {
cout << dp[n - m][i];
}
return 0;
}
高精度求和部分来自:
【C++】详解高精度加法、高精度减法、高精度乘法、高精度除法代码-优快云博客
欢迎各位读者提出意见。
(菜菜奋斗小日记)