45
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "euler45"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
@@ -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)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user