結果
| 問題 |
No.167 N^M mod 10
|
| ユーザー |
|
| 提出日時 | 2024-08-02 17:59:59 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 672 bytes |
| コンパイル時間 | 14,679 ms |
| コンパイル使用メモリ | 379,984 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-08-02 18:00:16 |
| 合計ジャッジ時間 | 15,011 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 21 WA * 6 |
コンパイルメッセージ
warning: unused imports: `HashMap`, `HashSet`
--> src/main.rs:1:24
|
1 | use std::collections::{HashMap, HashSet};
| ^^^^^^^ ^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
ソースコード
use std::collections::{HashMap, HashSet};
fn main() {
proconio::input! {
n: String,
m: String,
}
let n = n.chars().last().map(|c| c.to_digit(10).unwrap()).unwrap();
let m = m
.chars()
.rev()
.take(2)
.collect::<Vec<_>>()
.into_iter()
.rev()
.collect::<String>()
.parse::<u32>()
.unwrap();
println!("{}", pow_mod10(n, m));
}
fn pow_mod10(a:u32, b:u32) -> u32 {
let mut a = a;
let mut b = b;
let mut res = 1;
while b > 0 {
if b % 2 == 1 {
res = (res * a) % 10;
}
a = (a * a) % 10;
b /= 2;
}
res
}