結果

問題 No.167 N^M mod 10
ユーザー tnoda_tnoda_
提出日時 2015-04-02 15:42:35
言語 Go
(1.22.1)
結果
WA  
実行時間 -
コード長 842 bytes
コンパイル時間 10,980 ms
コンパイル使用メモリ 231,532 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-04-18 10:22:15
合計ジャッジ時間 12,481 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
5,248 KB
testcase_01 AC 1 ms
5,248 KB
testcase_02 WA -
testcase_03 WA -
testcase_04 AC 22 ms
5,376 KB
testcase_05 WA -
testcase_06 AC 1 ms
5,376 KB
testcase_07 AC 1 ms
5,376 KB
testcase_08 AC 2 ms
5,376 KB
testcase_09 AC 2 ms
5,376 KB
testcase_10 AC 1 ms
5,376 KB
testcase_11 WA -
testcase_12 AC 1 ms
5,376 KB
testcase_13 WA -
testcase_14 AC 1 ms
5,376 KB
testcase_15 AC 1 ms
5,376 KB
testcase_16 AC 1 ms
5,376 KB
testcase_17 AC 1 ms
5,376 KB
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 AC 2 ms
5,376 KB
testcase_22 WA -
testcase_23 AC 23 ms
5,376 KB
testcase_24 AC 21 ms
5,376 KB
testcase_25 WA -
testcase_26 AC 12 ms
5,376 KB
testcase_27 AC 22 ms
5,376 KB
testcase_28 AC 22 ms
5,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import (
	"fmt"
)

func lastDigit(s string) int {
	return int(s[len(s)-1] - '0')
}

func solve() int {
	var N, M string
	fmt.Scan(&N, &M)
	if M == "0" {
		return 1
	}
	n, m := lastDigit(N), lastDigit(M)
	if m == 0 {
		m += 10
	}
	switch n {
	case 0:
		return 0
	case 1:
		return 1
	case 2:
		switch m {
		case 1:
			return 2
		case 2:
			return 4
		default:
			return 6
		}
	case 3:
		if m == 1 {
			return 3
		}
		if m%2 == 0 {
			return 9
		}
		return 1
	case 4:
		if m == 1 {
			return 4
		}
		return 6
	case 5:
		return 5
	case 6:
		return 6
	case 7:
		if m == 1 {
			return 7
		}
		if m%2 == 0 {
			return 9
		}
		return 1
	case 8:
		switch m {
		case 1:
			return 8
		case 2:
			return 4
		default:
			return 6
		}
	case 9:
		if m%2 == 1 {
			return 9
		}
		return 1
	}
	return -1
}

func main() {
	fmt.Println(solve())
}
0