AtCoder Beginner Contest 266 B

https://atcoder.jp/contests/abc266/tasks/abc266_b

Pythonなら剰余そのままですが、RustはC++との互換性のためか被除数が負だと負になってしまうんですねえ。

// Modulo Number
#![allow(non_snake_case)]

fn read<T: std::str::FromStr>() -> T {
    let mut line = String::new();
    std::io::stdin().read_line(&mut line).ok();
    line.trim().parse().ok().unwrap()
}

fn modulo(n: i64, q: i64) -> i64 {
    let r = n % q;
    if r >= 0 {
        r
    }
    else {
        r + q
    }
}

fn main() {
    let D: i64 = 998244353;
    let N: i64 = read();
    let r = modulo(N, D);
    println!("{}", r)
}