AtCoder Beginner Contest 257 A

https://atcoder.jp/contests/abc257/tasks/abc257_a

Rustの学習のために、ABCのA問題を解いていきます。

Python2ならこんな感じでしょうか

def F(N, X):
    q = (X - 1) / N
    return chr(q + 65)

Rustではchar関数の代わりに整数をcharにキャストします。ただし、整数の型、例えばi8(8ビット符号付き整数)にすると、

error[E0604]: only `u8` can be cast as `char`, not `i8`

と怒られてしまうので、u8にします。

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 read_vec<T: std::str::FromStr>() -> Vec<T> {
    read::<String>().split_whitespace()
            .map(|e| e.parse().ok().unwrap()).collect()
}

fn main() {
    let mut v = read_vec();
    let N: u8 = v[0];
    let X = v[1];
    let q = (X - 1) / N;
    println!("{}", (q + 65) as char);
}