最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 【例 4】佳佳的 Fibonacci

C++ 少儿编程 1121浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

【题目描述】

佳佳对数学,尤其对数列十分感兴趣。在研究完 Fibonacci 数列后,他创造出许多稀奇古怪的数列。例如用 $S(n)$ 表示 Fibonacci 前 $n$ 项和 $bmod m$ 的值,即 $S(n)=(F_1+F_2+…+F_n)bmod m$,其中 $F_1=F_2=1, F_i=F_{i-1}+F_{i-2}$ 。可这对佳佳来说还是小菜一碟。

终于,她找到了一个自己解决不了的问题。用 $T(n)=(F_1+2F_2+3F_3+…+nF_n)bmod m$ 表示 Fibonacci 数列前 $n$ 项变形后的和 $bmod m$ 的值。

现在佳佳告诉你了一个 $n$ 和 $m$,请求出 $T(n)$ 的值。

【输入】

输入数据包括一行,两个用空格隔开的整数 $n,m$。

【输出】

仅一行,$T(n)$ 的值。

【输入样例】

5 5

【输出样例】

1

【提示】

样例解释

$T(5)=(1+2 × 1+3× 2+4× 3+5× 5)bmod 5=1$

数据范围与提示:

对于 30% 的数据,$1≤n≤1000$;

对于 60% 的数据,$1≤m≤1000$;

对于 100% 的数据,$1≤n,m≤2^{31}−1$。

您必须 登录 才能发表评论!