首页 > 试题广场 >

数列

[编程题]数列
  • 热度指数:10951 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解

某种特殊的数列a1, a2, a3, ...的定义如下:a1 = 1, a2 = 2, ... , an = 2 * an − 1 + an - 2 (n > 2)。

给出任意一个正整数k,求该数列的第k项模以32767的结果是多少?


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


输出描述:
n行,每行输出对应一个输入。输出应是一个非负整数。
示例1

输入

2
1
8

输出

1
408
头像 hollewould
发表于 2023-01-07 16:09:50
这题数列输出要先输入n个k值的个数,在输入k值; 我第一思路是下面的第一种,但是发现一直时间超出; 后面看其他人的题解和讨论,才发现我想的太简单了, 这题的测试用例是比较极端的,用第一种思路完全过不了,只能开始下面第二种思路; //一、 每个k值都从0开始循环一遍 //时间复杂度 O(n*k) 展开全文
头像 深情的奶酪反对画饼
发表于 2022-10-14 16:25:44
#include <iostream> #include <vector> using namespace std; int n; vector<int>  展开全文
头像 小帅强
发表于 2024-08-20 01:50:04
#include <iostream> #include <vector> using namespace std; //迭代写法,用例测试过多时会超时 int series(int n){ if(n==1) return 1; int n 展开全文
头像 bandiaoz
发表于 2024-12-26 14:36:34
解题思路 这是一道数列模运算题目,主要思路如下: 数列特点分析: 需要求解第 项模 的结果 关键发现: 由于是模 的结果 数列会出现循环 经过计算,循环周期为 解决方案: 预处理前150项 对输入的 取模 直接输出对应位置的值 代码 cpp ja 展开全文
头像 bao_hu_yuan_zhang
发表于 2024-03-31 11:05:16
#include <iostream> #include <vector> using namespace std; int main() { int i=0; int n=0; cin>>n; vector <int&g 展开全文
头像 丨阿伟丨
发表于 2025-09-18 16:21:01
题目链接 数列 题目描述 一个特殊的数列 定义如下: (当 ) 给出任意一个正整数 (),求该数列的第 项对 32767 取模的结果。 输入包含多组测试数据。 解题思路 这是一个标准的线性递推关系问题。由于 的最大值达到了 ,并且有多组测试数据,我们需要一个高效的计算方法。 方法: 展开全文
头像 愿offer多多的小山竹很强大
发表于 2024-09-14 10:59:30
#include <stdio.h> int main() { int arr[1000000] = { 0 }; arr[0] = 1; arr[1] = 2; for (int i = 2; i < 1000000; i++) { 展开全文
头像 202308764547周军
发表于 2024-11-07 21:45:10
#include <stdio.h> int main() { long n; long arr[100000] = {1, 2}; //先生成数列,注意这里存入的是取模后的结果,否则数据会越界 for (int i = 2; i < 100000; i++) { arr[i] 展开全文

问题信息

上传者:小小
难度:
35条回答 4815浏览

热门推荐

通过挑战的用户

查看代码
数列