题目
试题 C: 数列求值
本题总分:10 分
【问题描述】
给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求
第 20190324 项的最后 4 位数字。
解法
三次一循环的话刚好是6730108次,注意一开始的abc已经算了一次,所以循环中6730108要减一,另外题目问的是后四位,10000取余即可。
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 int a=1,b=1,c=1; 5 for(int i=0;i<6730108-1;i++){ 6 a=(a+b+c)%10000; 7 b=(a+b+c)%10000; 8 c=(a+b+c)%10000; 9 } 10 printf("%d",c); 11 }