2.3基本算法之递归变递推1788:Pell数列

本文介绍了一段C++代码,用于计算Pell数列中给定正整数k的第k项对32767取模的结果,通过迭代计算并利用取余操作实现。
摘要由CSDN通过智能技术生成

Pell数列a1, a2, a3, ...的定义是这样的,a1 = 1, a2 = 2, ... , an = 2 * an − 1 + an - 2 (n > 2)。
给出一个正整数k,要求Pell数列的第k项模上32767是多少。

#include<bits/stdc++.h>//万能头 
using namespace std;//不用说 
int a[1000005];//这个是全局变量,主函数承受不了 
int main(){
    int n,s;//创建变量,n是次数,s是输入 
    a[1]=1;//初始化 
    a[2]=2;
    for(int i=3;i<1000000;i++){//这个有规律,题目上有 
        a[i]=(a[i-1]*2+a[i-2])%32767;//注意取模也就是取余,这里取余32767 
    }
    cin>>n;//输入次数 
    for(int i=0;i<n;i++){
        cin>>s;//输入数字 
        cout<<a[s]<<endl;//输出相应的变量号 
    }
    return 0;//结束程序 
}

说几句:

1.这是我第N次做博客,希望大家支持,谢谢。

2.请大家不要当键盘侠,谢谢。

3.请大家多多评论,给我建议,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值