#1739. [蓝桥杯] 斐波那契

[蓝桥杯] 斐波那契

[蓝桥杯] 斐波那契

问题描述

斐波那契数列大家都非常熟悉。它的定义是:

$$\begin{aligned} f(x) = \begin{cases} 1 & if (x=1,2)\\ f(x-1) + f(x-2) & if (x>2) \end{cases} \end{aligned} $$

对于给定的整数 nnmm,我们希望求出:i=1nf(i)\sum_{i=1}^n {f(i)} 的值。

但这个值可能非常大,所以我们把它对 f(m)f(m) 取模,即 (i=1nf(i))modf(m)(\sum_{i=1} ^ n {f(i)} ) \bmod f(m)

但这个数字依然很大,所以需要再对 pp 求模。

输入格式

输入为一行用空格分开的整数 n,m,p(0<n,m,p<1018)n,m,p (0 < n, m, p < 10^{18})

输出格式

输出为1个整数,表示答案

2 3 5
0
15 11 29
25