求解
  • 板块学术版
  • 楼主hei2
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/4/24 17:22
  • 上次更新2023/10/23 17:39:09
查看原帖
求解
789575
hei2楼主2023/4/24 17:22

**本人在电脑室里找到了一个c++的程序,求大佬在评论区解释一下程序,谢谢。 **

#include<bits/stdc++.h>
using namespace std;
string gl(string a,string b)
{
    int e[10005]={0},f[10005]={0},c[10005]={0},l=0,k=0;
    for(int i=a.size()-1;i>=0;i--)
    e[++l]=a[i]-'0';    
    for(int i=b.size()-1;i>=0;i--)
    f[++k]=b[i]-'0';
    l=max(l,k);
    for(int i=1;i<=l;i++)
    {
        e[i]+=f[i];
        e[i+1]+=e[i]/10;
        e[i]%=10;
    }
    if(e[l+1]>0)l++;
    string s="";
    for(int i=l;i>=1;i--)
    {
        s+=e[i]+'0';
    }
    return s;
}
int n;
string h[10005];
int main()
{
    cin>>n;
    h[0]="0";
    h[1]="1";
    h[2]="2";
    for(int i=3;i<=n;i++) 
    {
        h[i]=gl(h[i-1],h[i-2]);
    }
    cout<<h[n];
    return 0;
}
2023/4/24 17:22
加载中...