fn d(n:i32)->i32{
let mut res = 0;
let mut logn = 1;
while n / logn != 0{
let a = n % (logn * 10);
res += a / logn;
logn *= 10;
}
return res + n;
}
use std::collections::HashSet;
fn main() {
let n_of_d = (1..10000).into_iter().map(d).collect::<HashSet<i32>>();
let self_numbers = (1..10000).into_iter().filter(|it| !n_of_d.contains(it)).map(|self_number|format!("{}\n", self_number));
let mut stdout = std::io::stdout();
use std::io::Write;
self_numbers.for_each(|it|{stdout.write(it.as_bytes());});
stdout.flush();
}
백준 문제 풀이 분류가 없습니다