#include<bits/stdc++.h>
using namespace std;
int a[10005],b[10005],c[10005];
void add(){
memset(c,0,sizeof(c));
c[0]=max(a[0],b[0]);
for(int i=1;i<=c[0];i++){
c[i]+=a[i]+b[i];
c[i+1]+=c[i]/10;
c[i]%=10;
}
if(c[c[0]+1]>0) c[0]++;
}
int main(){
long long m,n;
cin>>n>>m;
a[0]=1,a[1]=1;
b[0]=1,b[1]=1;
long long d=m-n+1;
for(int i=3;i<=d;i++){
add();
memcpy(a,b,sizeof(a));
memcpy(b,c,sizeof(b));
}
for(int i=c[0];i>=1;i--) cout<<c[i];
return 0;
}
洛谷:P2437 蜜蜂路线
C++程序实现动态加法递归算法
最新推荐文章于 2025-03-04 23:25:29 发布
这篇文章详细描述了一个用C++编写的程序,实现了通过递归和动态规划方法对两个整数数组进行逐位加法并存储结果的过程。主要关注了`add`函数、数组操作和输入/输出处理。
887

被折叠的 条评论
为什么被折叠?



