AtCoder Beginner Contest 248 A(1)

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