44
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "euler44"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
itertools = "0.14.0"
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
use itertools::Itertools;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let pentagonals: Vec<_> = (1..10000).map(pentagonal_number).collect();
|
||||||
|
let combinations: Vec<_> = pentagonals.iter().combinations(2).collect();
|
||||||
|
|
||||||
|
for item in combinations {
|
||||||
|
let smaller = *item.first().unwrap();
|
||||||
|
let larger = *item.get(1).unwrap();
|
||||||
|
let sum = smaller + larger;
|
||||||
|
let difference = larger - smaller;
|
||||||
|
if pentagonals.contains(&sum) && pentagonals.contains(&difference) {
|
||||||
|
println!("{difference}");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn pentagonal_number(n: usize) -> usize {
|
||||||
|
n * (3 * n - 1) / 2
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user