當前位置:
首頁 >
2019年第十届蓝桥杯 - 省赛 - C/C++大学B组 - C. 数列求值
發(fā)布時間:2024/5/17
58
豆豆
生活随笔
收集整理的這篇文章主要介紹了
2019年第十届蓝桥杯 - 省赛 - C/C++大学B组 - C. 数列求值
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【問題描述】
給定數(shù)列 1, 1, 1, 3, 5, 9, 17, …,從第 4 項開始,每項都是前 3 項的和。
求第 20190324 項的最后 4 位數(shù)字。
【答案提交】
這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。
本題的結(jié)果為一個 4 位整數(shù)(提示:答案的千位不為 0),在提交答案時只填寫這個整數(shù),填寫多余的內(nèi)容將無法得分。
Ideas
一道斐波那契數(shù)列變形題,前三項累加就可以了,三個變量不斷迭代,往前滾動計算。
注意要取余,不然數(shù)賊大,算不完的。
Code
C++
#include <iostream> #include <cstring> using namespace std; int main() {long long a = 1, b = 1, c = 1, num = 0;for (int i = 4; i <= 20190324; ++i) {num=(a + b + c) % 10000;c = b; b = a; a = num;}cout << num << endl;return 0; }Python
if __name__ == '__main__':a, b, c = 1, 1, 1for i in range(3, 20190324):a, b, c = b, c, (a + b + c) % 10000print(f"第 {i + 1} 項:{c}")Answer: 4659
總結(jié)
以上是生活随笔為你收集整理的2019年第十届蓝桥杯 - 省赛 - C/C++大学B组 - C. 数列求值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019年第十届蓝桥杯 - 省赛 - C
- 下一篇: LeetCode Algorithm 2