diff --git a/append_digit_primes/src/main.rs b/append_digit_primes/src/main.rs index 604bd5c..d645554 100644 --- a/append_digit_primes/src/main.rs +++ b/append_digit_primes/src/main.rs @@ -16,14 +16,14 @@ impl Tree { } } - fn to_string(&self) -> String { - let mut retval = format!("[{}: ", self.value); - for child in &self.children { - retval.push_str(&child.to_string()[..]); - } - retval.push(']'); - retval - } + // fn to_string(&self) -> String { + // let mut retval = format!("[{}: ", self.value); + // for child in &self.children { + // retval.push_str(&child.to_string()[..]); + // } + // retval.push(']'); + // retval + // } fn step(&mut self) { if self.children.is_empty() { @@ -70,11 +70,17 @@ fn step(x: u64) -> Vec { } fn main() { - let primes: Vec = primal::Primes::all().skip_while(|x| *x < 10_000_000).take_while(|x| *x < 100_000_000).map(|x| x as u64).collect(); + /* find all non-truncatable primes in (100,000,000; 1,000,000,000) */ + let primes: Vec = primal::Primes::all() + .skip_while(|x| *x < 100_000_000) + .take_while(|x| *x < 1_000_000_000) + .map(|x| x as u64) + .filter(|x| !(primal::is_prime(*x / 10))) + .collect(); + let mut tree = Tree::new(0, primes); for _ in 0..20 { tree.step(); println!("{:?}", tree.longest_path()); } - //println!("{}", tree.to_string()); }