神密的数列
Description
2030年,酷夏。一队考古人员来到这片山区,原因据说是发现这里可能有极其珍贵的古迹。
遗迹的开发工作工作远比他们之前想象的复杂度得多,开发进度缓慢,眼看着时间就快来不急了。
为了加快进度,他们打算雇佣当地的居民来帮忙。
听闻消息过来应征的大部分是中壮年,唯独一位特殊,是位老人家,看起来已经年过半百,头发花白,带着眼镜,在人群中实在太显眼,大概是为了生计吧。
。。。
古迹的开发工作稳步进行,这块巨大的石碑在地底沉睡了几千年后终于又要重见光明了。
考古学家们站在石碑边上,轻轻擦去尘土,开始解读上面的信息。
A:“好像都是甲骨文,而且都是数字”
B:”确实都是数字。1, 2, 4, 7, 11, 16, 22 ,。。。。。“
C:"这一大串数字是什么意思"
A:”看不出规律,但是一定有重大的含义,你们看过20年前那部《神秘代码》的电影吗,我觉得很有可能跟那个一样,关乎我们地球存亡!“
大家都觉得A说很有道理,激动得不知道说什么话好
”额。。。那个。。。“突然从身后传来声音
纷纷回头望去,是那位老人家
”虽然我看不懂甲骨文,但是你刚才说的那串数字不就是二阶等差数列嘛,我当年在学校的比赛出过这道题“
一群人愣了一下
“好像是啊,相邻两个数的差分别为1, 2, 3, 4, 5, 。。。。”
然后脸上纷纷由兴奋变得充满窘色
看着老人家已经回头准备离开,大家纷纷叫住他
”等一下先别走,能告诉我们您的名字吗“
”算了吧,要什么名字,叫我BMan吧”然后大步离去,头也不回
Input
输入数据的第一行为一个正整数T
接下来有T行,每行有一个正整数n (n <= 1000)
Output
对于每一个n,请输出二阶等差数列中第n个数的值
Sample Input
4
1
2
5
8
Sample Output
1
2
11
29
HINT
数据量很小,水题,求二阶等差数列。
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <string> 5 #include <algorithm> 6 using namespace std; 7 #define maxn 1010 8 int a[maxn]; 9 int T, n; 10 void init(){ 11 int mark = 1; 12 a[1] = 1; 13 for(int i = 2; i <= 1000; i++){ 14 a[i] = a[i-1]+mark; 15 mark++; 16 } 17 } 18 int main(){ 19 init(); 20 scanf("%d", &T); 21 while(T--){ 22 scanf("%d", &n); 23 printf("%d\n", a[n]); 24 } 25 return 0; 26 }