各位求尾数与常数之和

数列的前3项都为1,从第4项开始,每项都是其前3项的和:1, 1, 1, 3, 5, 9, 17, … 请你编程求出数列第N项的4位尾数与90000之和。输入一个正整数N,输出所求的和。希望能有解题思路

扩展版的斐波那契数列,方法跟这个一样。


#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <iostream>
#include <vector>
#include <string.h>
using namespace std;



int main()
{
    vector<int> res;
    res.push_back(1);
    res.push_back(1);
    res.push_back(1);

    int n;
    cout<<"输入一个数字"<<endl;
    cin>>n;

    if(n==1||n==2||n==3)
    {
        cout<<"和为:"<<1+90000;
    }
    else
    {
        for(int i=3;i<n;++i)
        {
            res[i]=res[i-1]+res[i-2]+res[i-3];
        }
    }
    string s_val=to_string(res[n-1]);
    if(s_val.size()>4)
    {
        string s=s_val.substr(s_val.size()-4,4);
        int val=atoi(s.c_str());
        cout<<"和为:"<<val+90000;
    }
    else
    {
        cout<<"和为:"<<res[n-1]+90000;
    }





    return 0;
}

img