pascal 现在有一个数列:0,1,3,8,21,55,144······,请编程求出数列中第2010个数除以6的余数

学习 时间:2026-04-07 21:15:35 阅读:4699
pascal 现在有一个数列:0,1,3,8,21,55,144······,请编程求出数列中第2010个数除以6的余数是多少?

最佳回答

落后的滑板

爱笑的雪碧

2026-04-07 21:15:35

楼主,思路是这样的:这个数列是斐波那契数列的子列,原来的斐波那契数列的通项公式是:a[n]=a[n-1]+a[n-2]数列前几项:0,1,1,2,3,5,8,13,21,34,55,89,144……现在题目只取了斐波那契数列的第1、3、5、7、9等奇数项,所以变成了那个样子。题目让你求数列2010项除以6的余数,那么我们也就只要求斐波那契数列第2010*2-1=4019项除以6的余数。根据通项公式:a[n] = a[n-1] + a[n-2]两边模6取余: a[n] mod 6 = (a[n-1] + a[n-2]) mod 6=a[n-1] mod 6 + a[n-2] mod 6这样我们就得到新的斐波那契模6数列:0,1,1,2,3,5,2,1,3,4,1,5,0,5,5,……也就是说,要求第n项,只要算第n-1和n-2这两项的和,再模6,作为第n项的值。循环至4019终止。如果楼主是纯来求源代码的,那么还是请楼主自己动手编一下。如果只是求思路,上面的解答已够。

最新回答共有2条回答

  • 飘逸的早晨
    回复
    2026-04-07 21:15:35

    楼主,思路是这样的:这个数列是斐波那契数列的子列,原来的斐波那契数列的通项公式是:a[n]=a[n-1]+a[n-2]数列前几项:0,1,1,2,3,5,8,13,21,34,55,89,144……现在题目只取了斐波那契数列的第1、3、5、7、9等奇数项,所以变成了那个样子。题目让你求数列2010项除以6的余数,那么我们也就只要求斐波那契数列第2010*2-1=4019项除以6的余数。根据通项公式:a[n] = a[n-1] + a[n-2]两边模6取余: a[n] mod 6 = (a[n-1] + a[n-2]) mod 6=a[n-1] mod 6 + a[n-2] mod 6这样我们就得到新的斐波那契模6数列:0,1,1,2,3,5,2,1,3,4,1,5,0,5,5,……也就是说,要求第n项,只要算第n-1和n-2这两项的和,再模6,作为第n项的值。循环至4019终止。如果楼主是纯来求源代码的,那么还是请楼主自己动手编一下。如果只是求思路,上面的解答已够。

上一篇 欧嘞是什么意思

下一篇 抱耳旁加个取字怎么读