我有下面的代码
fn main() {
let num: i64 = 600851475143;
println!("Largest prime: {}", largest_prime_factor(num));
}
fn largest_prime_factor(num:i64) -> Result<i64, Error<None>> {
let mut primes: Vec<i64> = Vec::new();
for x in 1i64..=num {
if num % x == 0 {
if (x == 2) | (x==3) | ((x-1) % 6 ==0) | ((x+1) %6 ==0) {
primes.push(x);
}
}
}
let max_value = primes.iter().max()?;
}
该largest_prime_factor
函数的作用是找到其输入中数字的最大素因子。
我将所有素因子推入primes
向量,然后返回最大的,但我不确定如何返回最大的整数。如果 .max() 函数返回错误 - 文档说它会返回 None,但是当我将 None 作为返回的可能性时,它说它不是数据类型,并且使用我的变体枚举,但是看看在文档中, None 似乎确实是枚举。那么这个函数实际上返回了什么?我是否使用?
不正确