求助验算斐波那契数
查看原帖
求助验算斐波那契数
178294
zhy137036世末TJOIer楼主2021/7/22 15:19

这题没过去,于是蒯了 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 计算器验证了,都没有问题。

涉及到的所有代码

2021/7/22 15:19
加载中...