题目 1644

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

查看题解 ↗GitHub ↗如何评测
题号
1644
时间限制
1000 ms
内存限制
128 MB
标签
矩阵乘法快速幂数学

【题目描述】

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

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

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

【输入】

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

【输出】

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

【输入样例】

文本
5 5

【输出样例】

文本
1

【提示】

样例解释

T(5)=(1+2×1+3×2+4×3+5×5) mod 5=1T(5)=(1+2 \times 1+3\times 2+4\times 3+5\times 5)\bmod 5=1

数据范围与提示:

对于 30% 的数据,1≤n≤10001\leq n\leq1000;

对于 60% 的数据,1≤m≤10001\leq m\leq1000;

对于 100% 的数据,1≤n,m≤231−11\leq n,m\leq2^{31}-1。

【来源】

一本通在线评测

数据下载

题目 1644 的公开数据

正在读取文件列表…

常用命令

题目 1644 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。