chenyonken 2016-02-04 08:17 采纳率: 0%
浏览 1354
已采纳

(杭电1005)为什么第二个结果错了,是5不是1:a %= 7,b %= 7;这一句是什么作用

#include
int main()
{
int f[53], i, a, b, n;
while(scanf("%d%d%d", &a, &b, &n))
{
if (a ==0&&b ==0&&n == 0)
break;
if ((n == 1 )|| (n == 2))

    {
        printf("1\n");
        continue;
    }
    f[1] = 1,f[2] = 1;
    a %= 7,b %= 7;
    for (i = 3; i <= 52; i++)
    {
        f[i] = (a*f[i - 1] + b*f[n - 2]) % 7;
        if ((f[i] == 1) && (f[i - 1] == 1))break;
    }
    i = i - 2;
    n %= i;
    f[0] = f[i];
    printf("%d\n", f[n]);
}

}图片说明


  • 写回答

1条回答

  • ysuwood 2016-02-04 08:30
    关注
     f[i] = (a*f[i - 1] + b*f[n - 2]) % 7;//n错了吧?是i?
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记