fork download
  1. fn f(n: u64) -> u64 {
  2. let to_width = |x| ((x as f64).log10() + 1f64) as u64;
  3. (1..n + 1).filter(|x| x % 2 == 1).map(to_width).fold(0, |acc, w| acc + w)
  4. }
  5. fn main() {
  6. for n in vec!(3, 10, 9999, 123456789) {println!("{} => {:?}", n, f(n))}
  7. }
  8.  
Time limit exceeded #stdin #stdout 5s 17976KB
stdin
Standard input is empty
stdout
3 => 2
10 => 5
9999 => 19445