アルゴリズムと数学 092

https://atcoder.jp/contests/math-and-algorithm/tasks/math_and_algorithm_br

これもしらみつぶしで十分です。

// Beautiful Rectangle
#![allow(non_snake_case)]


//////////////////// library ////////////////////

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


//////////////////// process ////////////////////

fn f(N: u64) -> u64 {
    let a: u64 = (1..).take_while(|n| n*n <= N).
                        filter(|n| N%n == 0).last().unwrap();
    2 * (a + N/a)
}

fn main() {
    let N = read();
    println!("{}", f(N))
}