洛谷 P4994 终于结束的起点 题解

题目描述

广为人知的斐波拉契数列 fib(n) 是这么计算的

也就是 0, 1, 1, 2, 3, 5, 8, 13 ,每一项都是前两项之和。

小 F 发现,如果把斐波拉契数列的每一项对任意大于 1 的正整数 M 取模的时候,数列都会产生循环。

当然,小 F 很快就明白了,因为 (fi(n1mod M ) 和 (fi(n2mod M) 最多只有 M2种取值,所以在M2 次计算后一定出现过循环。

甚至更一般地,我们可以证明,无论取什么模数 M,最终模 M 下的斐波拉契数列都会是 0,1,,0,1,⋯。

现在,给你一个模数 MM,请你求出最小的n>0,使得fi(nmod M=0,fi(n+1mod M=1。

猜你喜欢

转载自www.cnblogs.com/yuntianming0215/p/lg4994.html
今日推荐