1189:Pell数列

传送门:http://ybt.ssoier.cn:8088/problem_show.php?pid=1189

【题目描述】

Pell数列a1,a2,a3,...

的定义是这样的,a1=1,a2=2,...,an=2an−1+an−2(n>2)

给出一个正整数k,要求Pell数列的第k项模上32767是多少。

【输入】

第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数k (1≤k<1000000)。

【输出】

n行,每行输出对应一个输入。输出应是一个非负整数。

【输入样例】

2
1
8

【输出样例】

1
408
#include<iostream>
#include<cstring>
using namespace std;
#define N 1000000+10
int n,a[N];
int main()
{
    a[1]=1;
    a[2]=2;
    for(int i=3;i<=N-1;i++)a[i]=(2*a[i-1]+a[i-2])%32767;
    cin>>n;
    for(int i=1;i<=n;i++){
        int as;
        cin>>as;
        cout<<a[as]<<endl;
    }
    // cout<<a[n]<<endl;
}

原文地址:https://www.cnblogs.com/jzxnl/p/11106484.html

时间: 2024-10-11 12:16:09

1189:Pell数列的相关文章

Pell数列

描述Pell数列a1, a2, a3, ...的定义是这样的,a1 = 1, a2 = 2, ... , an = 2 * an ? 1 + an - 2 (n > 2).给出一个正整数k,要求Pell数列的第k项模上32767是多少.输入第1行是测试数据的组数n,后面跟着n行输入.每组测试数据占1行,包括一个正整数k (1 ≤ k < 1000000).输出n行,每行输出对应一个输入.输出应是一个非负整数.样例输入 2 1 8 样例输出 1 408 源代码 #include<stdio

1788:Pell数列

1788:Pell数列 查看 提交 统计 提问 总时间限制:  3000ms 内存限制:  65536kB 描述 Pell数列a1, a2, a3, ...的定义是这样的,a1 = 1, a2 = 2, ... , an = 2 * an ? 1 + an - 2 (n > 2).给出一个正整数k,要求Pell数列的第k项模上32767是多少. 输入 第1行是测试数据的组数n,后面跟着n行输入.每组测试数据占1行,包括一个正整数k (1 ≤ k < 1000000). 输出 n行,每行输出对应

[NOI题库][POJ2786]Pell数列

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

Openjudge-NOI题库-Pell数列

题目描述 Description Pell数列a1, a2, a3, ...的定义是这样的,a1 = 1, a2 = 2, ... , an = 2 * an − 1 + an - 2 (n > 2).给出一个正整数k,要求Pell数列的第k项模上32767是多少. 输入输出格式 Input/output 输入: 第1行是测试数据的组数n,后面跟着n行输入.每组测试数据占1行,包括一个正整数k (1 ≤ k < 1000000). 输出: n行,每行输出对应一个输入.输出应是一个非负整数. 输

递归--练习8--noi1788Pell数列

递归--练习8--noi1788Pell数列 一.心得 5 1. 6 //直接递归Time Limit Exceeded 7 //那就记忆化递归 8 2. 9 直接记忆化递归后还有问题 10 a[k]=2*f(k-1)%32767+f(k-2)%32767; 11 说明这句话超出范围了,所以修改成了如下 12 a[k]=(2*(f(k-1)%32767)+f(k-2)%32767)%32767; 13 就AC了 16 #define Max 1000005 17 using namespace

第6周

6.1 函数 定义: 返回值类型 函数名(参数1类型 参数1名称,参数2类型 参数2名称...) { 语句组(即“函数体”) } 调用函数:函数名 (参数1,参数2...).对函数的调用,也是一个表达式,其值由函数内部的return语句决定. return语句的功能是结束函数的执行,并将返回值作为结果返回.返回值是常量.变量或复杂的表达式均可.如果返回值类型为void,则可以直接写return ;. return语句作为函数的出口,可以在函数中多次出现.多个return语句的返回值可以不同.在哪

用递归和非递归的方法输出斐波那契数列的第n个元素(C语言实现)

费波那契数列(意大利语:Successione di Fibonacci),又译为费波拿契数.斐波那契数列.费氏数列.黄金分割数列. 在数学上,费波那契数列是以递归的方法来定义: {\displaystyle F_{0}=0} {\displaystyle F_{1}=1} {\displaystyle F_{n}=F_{n-1}+F_{n-2}}(n≧2) 用文字来说,就是费波那契数列由0和1开始,之后的费波那契系数就是由之前的两数相加而得出.首几个费波那契系数是: 0, 1, 1, 2, 3

HDU 5783 Divide the Sequence(数列划分)

HDU 5783 Divide the Sequence(数列划分) Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)   Problem Description - 题目描述 Alice has a sequence A, She wants to split A into as much as possible continuous subsequences, satisfy

2015.9.11模拟赛 codevs 4159【hzwer的迷の数列】

题目描述 Description hzwer找了一个人畜无害的迷の数列…… 现在hzwer希望对这个数列进行一些操作,请你来回答hzwer的问题. 操作一:查询第i个数的大小 操作二:把第i个数的大小改成x 操作三:将整个序列反转.即把第i个数放到第n-i+1个. 输入描述 Input Description 输入数据第一行两个数n,m,表示数列长度和操作数. 第二行n个数,表示n个元素初始值. 以下m行,每行开头一个数opr,表示操作种类. opr=1,则后面接一个数i,表示查询第i个数大小.