这题没过去,于是蒯了 aiyougege 的题解来对拍。小数据拍了半天没拍出问题,大数据拍出来了,但是手算不出来,所以过来求助。
数据
9501465961826308867987419
32654
我的程序输出 24014,题解输出 3746。
因为我的程序随机种子是不变的,所以把一些重要的过程放上来求验算。(没用 LaTeX 是为了方便复制)
Fib(23134409264292) mod 32654 = 20970
Fib(23134409264293) mod 32654 = 16419
Fib(33066567918612) mod 32654 = 20970
Fib(33066567918613) mod 32654 = 16419
所以模 32654 意义下,斐波那契数列应该有长度为 33066567918612 - 23134409264292 = 9932158654320 的循环节。
9501465961826308867987419 mod 9932158654320 = 8485612713099
最后
Fib(8485612713099) mod 32654 = 24014
以上斐波那契数的计算,我把之前别的题的 AC 代码改动之后验证了。其余部分用 Win10 计算器验证了,都没有问题。
涉及到的所有代码