天津大学智能学部夏令营机试汇总
以下内容不完全确保 AC
文章目录
注意事项
- 英文题目,三道题,阅读难度不高。
- 编译环境是 codeblocks。
- POJ三种状态:通过,部分通过,没有通过。
- 不能用 Java,不能用 万能头文件 <bits/stdc++.h>
2018年智能学部夏令营机试
问题1:求斐波那契数列的第n个数字
-
问 题 描 述 {\color{Gray}{问题描述}} 问题描述
有如下的斐波那契数列 0 , 1 , 1 , 2 , 3 , 5 , 8 … … 0,1,1,2,3,5,8…… 0,1,1,2,3,5,8……
第一行给你一个 T T T,表示接下来要输入 T T T 行数字 ( 0 < T < 10000 ) (0<T<10000) (0<T<10000)
剩下 T T T 行每行输入数字 N N N ( 0 < = N < = 100000 ) (0<=N<=100000) (0<=N<=100000)
要求输出数列中第 N N N 个数,记为 R E S U L T RESULT RESULT
如果 N N N 数字太大,则输出 R e s u l t m o d 1 e 9 + 7 Result \quad mod \quad 1e9+7 Resultmod1e9+7 -
示 例 输 入 {\color{Gray}{示例输入}} 示例输入
3
0
1
5 -
示 例 输 出 {\color{Gray}{示例输出}} 示例输出
0
1
5 -
代 码 解 析 {\color{Gray}{代码解析}} 代码解析
#include <iostream>
#define mod 1000000007 // 模
#define ll long long int // 数据类型
#define M 10000000 // Fib 数列
using namespace std;
int main(){
// 同步
ios::sync_with_stdio(false);
// 存储数列
ll *fib = new ll[M];
fib[0] = 0;
fib[1] = 1;
for(int i = 2; i < M; i++){
fib[i] = fib[i-1]%mod + fib[i-2]%mod;
}
// 操作
int n;
cin >> n;
for(int i = 0; i < n; i++){
int num;
cin