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