CodeForces 450B Jzzhu and Sequences 费波纳茨数列+找规律+负数MOD

题目:Click here

题意:给定数列满足求f(n)mod(1e9+7)。

分析:规律题,找规律,特别注意负数取mod。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring> 
 4 #include <algorithm>
 5 #include <cmath>
 6 using namespace std;
 7 const int M = 1e5+5;
 8 const int MOD = 1e9+7;
 9 
10 int x, y, n;
11 int a[6];
12 int main()  {
13     while( ~scanf("%d%d%d", &x, &y, &n ) )  {
14         a[0] = x;
15         a[1] = y;
16         for( int i=0; i<6; i++ )    {
17             if( i >= 2 )    
18                 a[i] = a[i-1] - a[i-2];
19             while( a[i] < 0 )   {   //消除负数取mod的影响,将其转换成正数
20                 a[i] += MOD;
21             }
22             a[i] %= MOD;
23         }
24         printf("%d\n", a[(n-1)%6] );
25     }
26     return 0;
27 }

 

posted @ 2015-08-09 15:31  TaoTaoCome  阅读(240)  评论(0编辑  收藏  举报