This commit is contained in:
timeshifter
2025-03-24 14:25:47 +01:00
parent fe45473e56
commit 0a6a64a725
2 changed files with 32 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "euler45"
version = "0.1.0"
edition = "2024"
[dependencies]
+26
View File
@@ -0,0 +1,26 @@
use std::collections::HashSet;
fn main() {
let triangle_numbers: Vec<_> = (286..100_000).map(triangle).collect();
let pentagonal_numbers: HashSet<_> = (2..100_000).map(pentagonal).collect();
let hexagonal_numbers: HashSet<_> = (2..100_000).map(hexagonal).collect();
for t in triangle_numbers {
if pentagonal_numbers.contains(&t) && hexagonal_numbers.contains(&t) {
println!("{t}");
break;
}
}
}
fn triangle(n: usize) -> usize {
n * (n + 1) / 2
}
fn pentagonal(n: usize) -> usize {
n * (3 * n - 1) / 2
}
fn hexagonal(n: usize) -> usize {
n * (2 * n - 1)
}