• [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
    8
    

    样例输出

    1
    408
    

    水水的递推……

    代码

    #include <stdio.h>
    #include <string.h>
    
    int a[ 1000010 ];
    int n, k;
    const int mo = 32767;
    
    int main(){
        scanf("%d", &n);
        
        int last = 3;
        a[ 1 ] = 1;
        a[ 2 ] = 2;
        int i, j;
        for( i = 1; i <= n; i++ ){
            scanf("%d", &k);
            
            for( j = last; j <= k; j++ ){
                a[ j ] = (((2 * a[ j - 1 ]) % mo) + a[ j - 2 ]) % mo;
            }
            if( k > last ) last = k;
            printf("%d
    ", a[ k ] % mo);
        }
    
        return 0;
    }
  • 相关阅读:
    react-redux: counter
    react table dropdown
    react pagination
    react privateRoute
    分布式爬虫(2)
    CentOS安装Python3.x
    spark复习笔记(3):使用spark实现单词统计
    《快学scala》读书笔记(2)
    《快学scala》读书笔记(1)
    spark复习笔记(2)
  • 原文地址:https://www.cnblogs.com/FrozenApple/p/4937015.html
Copyright © 2020-2023  润新知