题目: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 }
时间: 2024-10-10 16:08:43