結果
問題 |
No.167 N^M mod 10
|
ユーザー |
|
提出日時 | 2024-08-02 18:02:11 |
言語 | Rust (1.83.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 755 bytes |
コンパイル時間 | 12,489 ms |
コンパイル使用メモリ | 378,500 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-08-02 18:02:25 |
合計ジャッジ時間 | 13,647 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 24 WA * 3 |
コンパイルメッセージ
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 { if a == 0 { return 0; } if b == 0 { return a; } 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 }