From e6d61cbf1b966404e6e2d51f693450dde95a0912 Mon Sep 17 00:00:00 2001 From: William Ball Date: Fri, 24 Jul 2020 13:50:52 -0700 Subject: [PATCH] check for duplicates in fourthfree --- rust/fourthfree/src/main.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/rust/fourthfree/src/main.rs b/rust/fourthfree/src/main.rs index 30790ac..cf6aa4a 100644 --- a/rust/fourthfree/src/main.rs +++ b/rust/fourthfree/src/main.rs @@ -1,5 +1,6 @@ use rug::{Assign, Integer}; use std::thread; +use std::collections::HashSet; const NUM_THREADS: usize = 12; const BASE: u64 = 10; @@ -19,15 +20,15 @@ fn is_fourth_free(x: &Integer) -> bool { } fn step(x: &Integer) -> Vec { - let mut new_xs = Vec::new(); + let mut new_xs: HashSet = HashSet::new(); for d in 0..BASE { let mut temp = Integer::from(x * BASE); temp += d; if is_fourth_free(&temp) { - new_xs.push(temp); + new_xs.insert(temp); } } - new_xs + new_xs.iter().cloned().collect() } fn next(ls: &Vec) -> Vec {