結果

問題 No.526 フィボナッチ数列の第N項をMで割った余りを求める
コンテスト
ユーザー Imperi_Night
提出日時 2018-08-27 22:54:44
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 690 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 663 ms
コンパイル使用メモリ 93,444 KB
実行使用メモリ 7,716 KB
最終ジャッジ日時 2026-03-27 04:06:05
合計ジャッジ時間 1,487 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 10 WA * 2
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:34:15: warning: 'temp' may be used uninitialized [-Wmaybe-uninitialized]
   34 |         printf("%d\n", temp);
      |         ~~~~~~^~~~~~~~~~~~~~
main.cpp:28:35: note: 'temp' was declared here
   28 |         int prev2 = 0, prev1 = 1, temp;
      |                                   ^~~~

ソースコード

diff #
raw source code

#include <cstdio>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <iostream>
#include <string>

#define rep(i,N) for(int (i)=0;(i)<(N);(i)++)
#define MOD 1000000007

using namespace std;

int powmod(int a, int b, int p) {
	if (b == 0)return 1;
	else if (b % 2 == 0)return (powmod(a*a, b / 2, p) % p);
	else return (powmod(a, b - 1, p)*a%p);
}

int factorialmod(int a, int p) {
	if (!a)return 1;
	else return a * factorialmod(a - 1, p) % p;
}

int main(){
	int N, M;
	scanf("%d %d", &N, &M);
	int prev2 = 0, prev1 = 1, temp;
	for (int i = 0; i < N-2; i++) {
		temp = (prev1 + prev2) % M;
		prev2 = prev1;
		prev1 = temp;
	}
	printf("%d\n", temp);
	return 0;
}
0