问一个数论的同余问题,与递归有关的!
问题描述:
问一个数论的同余问题,与递归有关的!
一个序列如下定义:
f(1) = 1,f(2) = 1,f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.
给定A,B,n求f(n).
我是用程序去直接计算这个f(n)的,但是数据量过大的时候非常的耗时,这个利用数学知识,可不可以进行恒等变形,减小运算量?
答
(1)递归算法的确效率是比较低的,你看能不能尝试用非递归的算法做.如果能消除算法的递归调用,会比递归的明显要快很多的.自己定义一个栈来模拟下递归调用.(2)后面是对7求余.就是说f(n)总是在0-6之间.那你可以编程...