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