问题描述
给定数列1, 1, 1, 3, 5, 9, 17, …,从第4 项开始,每项都是前3项的和。求第20190324项的最后4位数字。
题目解析
这道题跟斐波那契数列非常相似,只是这里每个数都是前3个数的和。
这道题的重点在最后4位数字,一定要审清题目。这里有一个小技巧,将每次算出的前三项之和%10000即可彻底解决溢出问题。
C++代码
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main()
{
int a=1,b=1,c=1,y=0; //初始化
for(int i=4;i<20190325;i++)
{
y = (a+b+c)%10000;
a = b;
b = c;
c = y;
}
cout<<y;
}
正确答案

该博客介绍了如何解决一个类似于斐波那契数列的问题,其中每个数是前三个数的和。通过C++代码展示了解决方法,使用了一个巧妙的技巧,即每次计算结果对10000取余,以确保不会发生溢出,并专注于找出第20190324项的最后4位数字。此问题的关键在于理解数列的递推关系并有效地处理数值计算中的溢出问题。
1134

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



