| 提出番号 | 233 |
|---|---|
| 提出者 | tone_back |
| 言語 | C++ |
| 提出日時 | 2017-07-13 21:56:29 |
| 問題名 | (15)掛け算フィボナッチ |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 1ms | 7920KB |
| 2 | AC | 100% | 1ms | 8336KB |
| 3 | AC | 100% | 1ms | 8240KB |
| 4 | AC | 100% | 2ms | 7568KB |
| 5 | AC | 100% | 5ms | 8080KB |
| 6 | AC | 100% | 2ms | 8336KB |
| 7 | AC | 100% | 2ms | 7680KB |
typedef long long ll;
#include<iostream>
using namespace std;
/*
1 1 2 3 5 7
*/
int main(){
ll q;
cin >> q;
ll fib[10] = { 1,1,2,3,5,8,13,21,34,55 };
ll MD = 1000000007;
ll answer = 1;
ll temp;
for (int i = 0; i < ((q<=10)?q:10); i++) {
answer *= fib[i]%MD;
}
if (q>10) {
ll temp1, temp2,temp3;
temp1 = fib[9];
temp2 = fib[8];
for (ll i = 11; i <= q; i++) {
temp3 = temp1;
temp1 = (temp1+temp2) % MD;
temp2 = temp3%MD;
answer = (answer*temp1)%MD;
}
}
cout << answer;
return 0;
}