Problem 3
関数の返り値の型
こんな感じですね。
fn max_prime(m: i64) -> i64 { ... }
これも後ろに書くんですね。
use std::env; fn main() { let args: Vec<String> = env::args().collect(); let n: i64 = args[1].parse().unwrap(); println!("{}", max_prime(n)); } fn max_prime(m: i64) -> i64 { let mut n: i64 = m; for p in 2..n { if p*p > n { break; } else if n%p == 0 { n /= p; while n%p == 0 { n /= p; } if n == 1 { return p; } } } return n; }