結果

問題 No.167 N^M mod 10
コンテスト
ユーザー suppy193
提出日時 2017-02-02 16:13:18
言語 C90
(gcc 12.4.0)
コンパイル:
gcc-12 -O2 -std=c90 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 571 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 178 ms
コンパイル使用メモリ 22,084 KB
最終ジャッジ日時 2026-02-21 15:22:54
合計ジャッジ時間 853 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
main.c: In function ‘main’:
main.c:18:9: error: C++ style comments are not allowed in ISO C90
   18 |         //printf("%d\n", m2);
      |         ^
main.c:18:9: note: (this will be reported only once per input file)
main.c:8:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    8 |         scanf("%s", n);
      |         ^~~~~~~~~~~~~~
main.c:9:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    9 |         scanf("%s", m);
      |         ^~~~~~~~~~~~~~

ソースコード

diff #
raw source code

#include <stdio.h>
#include <math.h>

int main(void) {
	int i, j;
	char n[10001], m[10001];
	int n2, m2;
	scanf("%s", n);
	scanf("%s", m);
	
	m2 = m[0] - '0';
	i = 1;
	while(m[i] != '\0'){
		m2 = m2 * 10 + m[i] - '0';
		m2 %= 4;
		i++;
	}
	//printf("%d\n", m2);
	if(i == 1 && m2 == 0){
		printf("1\n");
		return 0;
	}
	j = 0;
	while(n[j] != '\0'){
		j++;
	}
	n2 = n[j - 1] - '0';
	if(n2 == 1 || n2 == 5 || n2 == 6){
		printf("%d\n", n2);
		return 0;
	}
	
	//printf("%d^%d = %d\n", n2, m2, (int)pow(n2, m2) % 10);
	printf("%d\n", (int)pow(n2, m2 + 4) % 10);
	
	return 0;
}
0