starting second approach (95, WIP)

This commit is contained in:
Dr. Matthias Ratajczak
2023-06-28 15:30:24 +02:00
parent 3d588cc232
commit 921f689356
2 changed files with 22 additions and 4 deletions
+3
View File
@@ -5,6 +5,9 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
itertools = "*"
[dev-dependencies]
rstest = "0.17"
+19 -4
View File
@@ -1,8 +1,15 @@
use std::collections::HashSet;
use itertools::Itertools;
const MAX: usize = 1_000_000;
fn main() {
let mut x = build_proper_divisors(3);
x.sort();
dbg!(x);
panic!();
let mut chains = vec![];
let mut part_of_any_chain = HashSet::new();
@@ -23,10 +30,6 @@ fn main() {
println!("{smallest}");
}
fn build_proper_divisors(max: usize) -> Vec<Vec<usize>> {
todo!()
}
fn try_build_chain_from_number(
max: usize,
mut current: usize,
@@ -59,6 +62,18 @@ fn try_build_chain_from_number(
}
}
fn build_proper_divisors(max: usize) -> Vec<(usize, Vec<usize>)> {
// let mut result = vec![];
let result = (1..max + 1)
.combinations(2)
.map(|v| (v.clone().into_iter().product(), v))
.collect();
// result.push(x);
result
}
fn get_proper_divisors(x: usize) -> Vec<usize> {
let mut result = vec![1];