刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

Pell数列
Pell数列a1, a2, a3, …的定义是这样的,a1 = 1, a2 = 2, … , an = 2 * an − 1 + an - 2 (n > 2)。 给出一个正整数k,要求Pell数列的第k项模上32767是多少。
时间限制:3000
内存限制:65536
输入
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数k (1 ≤ k < 1000000)。
输出
n行,每行输出对应一个输入。输出应是一个非负整数。
样例输入

2
1
8

样例输出

1
408

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】根据题目描述,Pell数列的定义是a1 = 1, a2 = 2, an = 2 * an - 1 + an - 2 (n > 2)。对于每一组输入k,我们需要计算出Pell数列的第k项模上32767的结果。由于k的值可能很大,直接计算Pell数列的第k项可能会超时。因此,我们可以使用递推的方式来计算Pell数列的第k项。具体地,我们可以使用三个变量a1, a2, a3来分别表示Pell数列的第1项、第2项、第3项。初始时,a1 = 1, a2 = 2。然后,我们根据Pell数列的定义,每次计算出一项新的数,并更新a1, a2, a3的值。当k > 2时,我们可以使用递推式an = 2 * an - 1 + an - 2来计算Pell数列的第n项。由于我们只关心Pell数列的第k项模上32767的结果,所以在每次计算新的数时,我们都需要取模。当k = 2时,Pell数列的第2项就是a2。当k = 1时,Pell数列的第1项就是a1。最后,我们输出Pell数列的第k项模上32767的结果即可。由于题目要求输出非负整数,因此在输出时,我们需要确保输出的结果是非负的。
创作类型:
原创

本文链接:Pell数列 Pell数列a1, a2, a3, …的定义是这样的,a1 = 1, a2 = 2,

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share