Sicily E1_fib1 斐波那契数列取模(大数)分治算法
发布时间:2020-12-14 03:01:29 所属栏目:大数据 来源:网络整理
导读:代 思路与源代码参考地址在此 (1)由于有如下性质: (n*m)%c=[(n%c)*(m%c)]%c (n+m)%c=[(n%c)+(m%c)]%c?, 计算过程中可以随时取模,而不影响最终的结果。 (2)利用矩阵求斐波那契数列: (3) 二分的原理:要求矩阵的N次方A(N),设i=N/2。若N%2==1, 则 A(
思路与源代码参考地址在此 (1)由于有如下性质: (n*m)%c=[(n%c)*(m%c)]%c (n+m)%c=[(n%c)+(m%c)]%c?, 计算过程中可以随时取模,而不影响最终的结果。 (2)利用矩阵求斐波那契数列:
(3) 二分的原理:要求矩阵的N次方A(N),设i=N/2。若N%2==1, 则 A(N)=A(i)*A(i)*A(1);若N%2==0, 则 A(N)=A(i)*A(i) 基于二进制的原理:将N拆为二进制数,譬如13=1101那么 A^13= A^8 * A^4 * A^1 (这里^表示幂运算)
实现代码:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |