题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

给定数列 1, 1, 1, 3, 5, 9, 17, \cdots1,1,1,3,5,9,17,⋯,从第 44 项开始,每项都是前 33 项的和。

求第 2019032420190324 项的最后 44 位数字。

运行限制
  • 最大运行时间:1s
  • 最大运行内存: 128M

20190324 这个数过于庞大 无论是递归还是迭代 程序都无法正常运行, 而且int 、 long、longlong都无法、承载这么大的数 * 题目要求我们只取最后四位 , 那我们可以对每次运算出来的结果 %10000 这样每次结果就都保留最后四位数字

#include <iostream>
using namespace std;
int main()
{
  long long a=1;
  long long b=1;
  long long c=1;
  long long d;
  for(long long i=4;i<=20190324;i++){
    d=(a+b+c)%10000;
    a=b;
    b=c;
    c=d;
  }
  cout<<d;
 
  return 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.