1.菲波那契数列 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对10000取模的结果是多少。 时间限制:1000 内存限制:65536 输入 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 1000000)。 输出 n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对10000取模得到的结果。 样例输入 4 5 2 19 1 样例输出 5 1 4181 1
【喵呜刷题小喵解析】首先,我们需要读取输入的测试数据的组数n,然后对于每组测试数据,我们读取正整数a。对于每个a,我们创建一个列表fib,初始化为[0, 1, 1],分别表示数列的前三个数。然后,我们循环计算数列中的下一个数,直到计算出第a个数。具体来说,我们从第3个数开始循环,每次将当前数列的倒数第二个数和倒数第三个数相加,得到新的数,然后将新的数添加到数列的末尾。最后,我们输出第a个数对10000取模的结果。注意,由于a的值可能很大,我们需要使用列表来存储数列,而不是使用递归的方式计算数列。否则,递归的方式可能会导致栈溢出。另外,由于每次计算下一个数都需要对10000取模,我们可以直接在计算过程中取模,避免在循环结束后再次取模。