結果

問題 No.167 N^M mod 10
ユーザー taba
提出日時 2024-08-02 18:01:12
言語 Rust
(1.83.0 + proconio)
結果
WA  
実行時間 -
コード長 715 bytes
コンパイル時間 11,754 ms
コンパイル使用メモリ 401,644 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-08-02 18:01:25
合計ジャッジ時間 13,441 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 22 WA * 5
権限があれば一括ダウンロードができます
コンパイルメッセージ
warning: unused imports: `HashMap`, `HashSet`
 --> src/main.rs:1:24
  |
1 | use std::collections::{HashMap, HashSet};
  |                        ^^^^^^^  ^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

ソースコード

diff #

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;
    }
    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
}
0