题面很简单, 但是我没有在数较大的情况下优化的经验, 所以计算时间较长
- 有这样一个数列,第一项是 1, 第二项是 3.
- 递推公式和 fibonacci 数列是一样的, 但有一个额外的条件, 每个数要取模(余数).
- 例如 mod=127 的前 15 项如下
i=1,r=1
i=2,r=3
i=3,r=4
i=4,r=7
i=5,r=11
i=6,r=18
i=7,r=29
i=8,r=47
i=9,r=76
i=10,r=123
i=11,r=72
i=12,r=68
i=13,r=13
i=14,r=81
i=15,r=94
- 要求的是 f(index,mod) , 给定 index 和 mod, 输出结果
- 比如 f(10,127)=123, f(6,127)=18
真正的问题来了, index 和 mod 会是很大的数, 我就懵了.
请用这个数据检验:
index = 2**110502
mod = 2**110503-1
f(index,mod)=0
目前 python mbp-i9 用时 79.48 秒