测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A5623. 「一本通 6.5 例 4」佳佳的 Fibonacci

编程题 提高+/省选-
知识点

题目描述

佳佳对数学,尤其对数列十分感兴趣。在研究完 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)$ 的值。

输入输出样例

输入 #1
5 5
输出 #1
1

说明/提示

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

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

对于 $100\%$ 的数据,$1\le n,m \le 2^{31}-1$。
上一题 去做题 下一题