oily-solutions/highly_divisible_triangular_number.rs

27 lines
619 B
Rust
Raw Normal View History

2024-11-20 19:06:43 +00:00
pub fn factors(num: u64) -> Vec<u64> {
let mut factors: Vec<u64> = Vec::new();
for i in 1..((num as f64).sqrt() as u64 + 1) {
if num % i == 0 {
factors.push(i);
if i != num / i {
factors.push(num / i);
}
}
}
factors
}
fn main() {
let mut triangular_increment: u64 = 0;
let mut triangular: u64 = 0;
2024-11-20 20:44:03 +00:00
2024-11-20 19:06:43 +00:00
while factors(triangular).len() <= 500 {
triangular = 0;
for i in 1..=triangular_increment {
triangular += i;
}
triangular_increment += 1;
}
println!("{}", triangular);
}