From 6ee192aadace44d90eac651c15f36dfffb99bd62 Mon Sep 17 00:00:00 2001 From: Fabian Schmidt Date: Mon, 16 Sep 2024 12:42:55 +0200 Subject: [PATCH] Solution 7 --- src/bin/problem_7.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/bin/problem_7.rs diff --git a/src/bin/problem_7.rs b/src/bin/problem_7.rs new file mode 100644 index 0000000..52ed4c5 --- /dev/null +++ b/src/bin/problem_7.rs @@ -0,0 +1,37 @@ +fn main() { + let result = nth_prime(10001); + println!("Result: {}", result.unwrap()); +} + +fn nth_prime(nth: i64) -> Option { + let mut primes: Vec = vec![2]; + + let mut i = 3; + + while primes.len() < nth as usize { + let mut is_prime = true; + for prime in primes.clone() { + if i % prime == 0 { + is_prime = false; + break; + } + } + if is_prime { + primes.push(i); + } + i += 1; + } + + return primes.pop(); +} + +#[cfg(test)] +mod tests { + use crate::nth_prime; + + #[test] + fn it_works() { + let result = nth_prime(6); + assert_eq!(result.unwrap(), 13); + } +}