南邮 OJ 1185 数列之和

来源:互联网 发布:java指定时间执行任务 编辑:程序博客网 时间:2024/05/22 19:13

数列之和

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 868            测试通过 : 74 

比赛描述

斐波那契数列(Fibonacci Sequence)的定义如下:

F1 = 1 F2 = 1

Fn = Fn - 1 + Fn - 2

那么你能得到斐波那契数列之和吗?

即Sn=F1+F2+F3+…+Fn

输入

输入数据有多组,每组为一行,为一个正整数n(1<=n<=2^31-1)

输出

每组输出对应一行,一个正整数,表示前n项斐波那契数列之和(为了防止高精度计算,对结果模除32767即可)

样例输入

3

样例输出

4

提示

 

题目来源

李鸿斌(honghu)



#include<stdio.h>long s[1200];int main(){long n,a=2,b=3;s[0] = 0;s[1] = 1;s[2] = 2;for(n=3;n<1200;++n){a ^= b;b ^= a;a ^= b;b += a;b %= 32767;s[n] = b-1;if(s[n]<0){s[n] = 32766;}}while(scanf("%ld",&n)!=EOF){n %= 1200;printf("%ld\n",s[n]);}}





0 0
原创粉丝点击