結果
問題 | No.167 N^M mod 10 |
ユーザー |
![]() |
提出日時 | 2016-10-24 07:56:04 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,675 bytes |
コンパイル時間 | 1,253 ms |
コンパイル使用メモリ | 159,176 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-22 01:36:41 |
合計ジャッジ時間 | 2,106 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 27 |
ソースコード
#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef vector<int> vint;typedef pair<int,int> pint;typedef vector<pint> vpint;#define rep(i,n) for(int i=0;i<(n);i++)#define reps(i,f,n) for(int i=(f);i<(n);i++)#define all(v) (v).begin(),(v).end()#define pb push_back#define mp make_pair#define fi first#define se second#define chmax(a, b) a = (((a)<(b)) ? (b) : (a))#define chmin(a, b) a = (((a)>(b)) ? (b) : (a))int main(void){string n, m; cin >> n >> m;int num = n[n.size() - 1] - '0';if(m == "0"){printf("1\n");return 0;}int f = m[m.size() - 1] - '0';int ff;if(m.size() == 1){ff = m[m.size() - 1] - '0';}else{ff = (m[m.size() - 2] - '0') * 10 + (m[m.size() - 1] - '0');}// printf("%d\n", ff);if(num == 0 || num == 1 || num == 5 || num == 6){printf("%d\n", num);}else if(num == 4){if(f % 2 == 0) printf("6\n");else printf("4\n");}else if(num == 9){if(f % 2 == 0) printf("1\n");else printf("9\n");}else if(num == 2){if(ff % 4 == 1) printf("2\n");else if(ff % 4 == 2) printf("4\n");else if(ff % 4 == 3) printf("8\n");else if(ff % 4 == 0) printf("6\n");}else if(num == 3){if(ff % 4 == 1) printf("3\n");else if(ff % 4 == 2) printf("9\n");else if(ff % 4 == 3) printf("7\n");else if(ff % 4 == 0) printf("1\n");}else if(num == 7){if(ff % 4 == 1) printf("7\n");else if(ff % 4 == 2) printf("9\n");else if(ff % 4 == 3) printf("3\n");else if(ff % 4 == 0) printf("1\n");}else if(num == 8){if(ff % 4 == 1) printf("8\n");else if(ff % 4 == 2) printf("4\n");else if(ff % 4 == 3) printf("2\n");else if(ff % 4 == 0) printf("6\n");}return 0;}