結果
問題 |
No.167 N^M mod 10
|
ユーザー |
|
提出日時 | 2024-08-02 18:03:45 |
言語 | Rust (1.83.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 778 bytes |
コンパイル時間 | 12,467 ms |
コンパイル使用メモリ | 405,200 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-08-02 18:03:59 |
合計ジャッジ時間 | 14,172 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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, } if n == "0" { println!("0"); return; } 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 { if b == 0 { return 1; } 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 }