結果

問題 No.167 N^M mod 10
ユーザー suppy193suppy193
提出日時 2017-02-02 16:13:18
言語 C90
(gcc 11.4.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 571 bytes
コンパイル時間 136 ms
コンパイル使用メモリ 23,040 KB
最終ジャッジ日時 2024-04-27 02:24:13
合計ジャッジ時間 553 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
main.c: In function ‘main’:
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);
      |         ^~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccA2EqxQ.o: in function `main':
main.c:(.text.startup+0xef): undefined reference to `pow'
collect2: error: ld returned 1 exit status

ソースコード

diff #

#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