• OpenJudge 2786 Pell数列


    1.链接地址:

    http://bailian.openjudge.cn/practice/2786

    2.题目:

    总Time Limit:
    3000ms
    Memory Limit:
    65536kB
    Description
    Pell数列a1, a2, a3, ...的定义是这样的,a1 = 1, a2 = 2, ... , an = 2 * an − 1 + an - 2 (n > 2)。
    给出一个正整数k,要求Pell数列的第k项模上32767是多少。
    Input
    第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数k (1 ≤ k < 1000000)。
    Output
    n行,每行输出对应一个输入。输出应是一个非负整数。
    Sample Input
    2
    1
    8
    
    Sample Output
    1
    408
    

    3.思路:

    打表法,求出可能结果

    4.代码:

     1 #include <iostream>
     2 #include <cstdio>
     3 
     4 #define MAX 1000000
     5 #define MODE_NUM 32767
     6 
     7 using namespace std;
     8 
     9 
    10 int arr_pell[MAX];
    11 
    12 int main()
    13 {
    14     //freopen("C://input.txt","r",stdin);
    15 
    16     int i;
    17 
    18     arr_pell[0] = 1;
    19     arr_pell[1] = 2;
    20     for(i = 2; i < MAX; ++i) arr_pell[i] = (2 * arr_pell[i - 1] + arr_pell[i - 2]) % MODE_NUM;
    21 
    22     int n;
    23     cin >> n;
    24 
    25     int k;
    26     while(n--)
    27     {
    28         cin >> k;
    29         cout << arr_pell[k - 1] << endl;
    30     }
    31 
    32     return 0;
    33 }
  • 相关阅读:
    linux install zh_CN(ubuntu)
    gitweb随记
    gitolite随记
    gitosis随记
    python
    zsh-替换掉黑白的控制台
    Homebrew -- Mac软件管家(套件管理yun……)
    mac中遇到的mysql编码问题
    策略模式 -- 山不转水转
    WPF教程:附加属性
  • 原文地址:https://www.cnblogs.com/mobileliker/p/3584585.html
Copyright © 2020-2023  润新知