結果

提出番号 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;
}