2019第十届蓝桥杯C数列求值

题目

试题 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 }

猜你喜欢

转载自www.cnblogs.com/taiga/p/12466369.html