永发信息网

f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.

答案:1  悬赏:0  手机版
解决时间 2021-11-30 06:29
  • 提问者网友:蓝莓格格巫
  • 2021-11-29 19:43
f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.
最佳答案
  • 五星知识达人网友:像个废品
  • 2021-11-29 21:05
f(n)的值一定是0-6之间的一个数,共7种情况,f(n-1)和f(n-2)同样如此。所以,在A和B固定的前提下,A * f(n - 1) + B * f(n - 2)的组合有7×7种情况。也就是说,最多有49种组合方式。因此,超过49以后,必定存在循环。
C代码如下:

#include
int main()
{
int f[50],a,b,n,i;
while(scanf("%d%d%d",&a,&b,&n)!=EOF)
{
if(a==0&&b==0&&n==0) break;
// f[0]=0;
f[1]=f[2]=1;
for(i=3;i<=49;i++)
f[i]=(a*f[i-1]+b*f[i-2])%7;
printf("%d\n",f[n%49]);
}
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯