https://atcoder.jp/contests/abc248/tasks/abc248_a
まずは、ちょっとテクニカルで応用が利かないが実装が楽な方法を使ってみます。Pythonならこうです。
def F(S): s = sum(int(c) for c in S) return 45 - s
これを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) }