finish 37

This commit is contained in:
Dr. Matthias Ratajczak
2022-08-19 19:59:20 +02:00
parent 6c6a58915f
commit 571b525843
2 changed files with 41 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
[package]
name = "euler37"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
primes = {version = "*", path = "../../lib/primes"}
+32
View File
@@ -0,0 +1,32 @@
extern crate primes;
use primes::Primes;
fn main() {
let primes = Primes::get_between(2, 1_000_000);
let mut result = vec![];
for p in &primes.vector {
if is_truncatable(*p, &primes) {
result.push(*p);
if result.len() == 11 {
println!("{}", result.iter().sum::<u32>());
}
}
}
}
fn is_truncatable(x: u32, primes: &Primes<u32>) -> bool {
if x < 10 {
return false;
}
let s = x.to_string();
for i in 1..s.len() {
if !primes.contains(&s[i..].parse().unwrap()) {
return false;
}
if !primes.contains(&s[..i].parse().unwrap()) {
return false;
}
}
true
}