c语言问题,求高手指点,

2025-02-23 22:01:23
推荐回答(2个)
回答1:

程序没有问题,但是数字太大后多次递归造成运行栈溢出,其实你不用递归,用一个数组从f(3)开始依次向f(4), f(5) 递推不就没有问题了,也不会溢出,速度也快得多

回答2:

修改f(int n)函数试试:

int f(int n){
if(n==1||n==2){
if(n==1)
return 1;
}
else
return (a*f(n-1)+b*f(n-2))%7;
}