https://atcoder.jp/contests/abc248/tasks/abc248_a
直感的にはsetを使いますよね。setの要素をbitで表すとPythonでは次のようになります。
def F(S): s = sum(1 << int(c) for c in S) return next(d for d in range(10) if ((1 << d) & s) == 0)
これをRustにすると、
let s: i32 = S.chars().map(|c| (c as i32) - 48).sum(); let d = 45 - s;
Stringのcharsメソッドでcharのiterator返します。
// Lacked 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 main() { let S: String = read(); let s: i32 = S.chars().map(|c| (c as i32) - 48).sum(); let d = 45 - s; println!("{}", d) }