diff --git a/nth-prime/.docs/instructions.append.md b/nth-prime-solved/.docs/instructions.append.md similarity index 100% rename from nth-prime/.docs/instructions.append.md rename to nth-prime-solved/.docs/instructions.append.md diff --git a/nth-prime/.docs/instructions.md b/nth-prime-solved/.docs/instructions.md similarity index 100% rename from nth-prime/.docs/instructions.md rename to nth-prime-solved/.docs/instructions.md diff --git a/nth-prime/.gitignore b/nth-prime-solved/.gitignore similarity index 100% rename from nth-prime/.gitignore rename to nth-prime-solved/.gitignore diff --git a/nth-prime/.meta/config.json b/nth-prime-solved/.meta/config.json similarity index 100% rename from nth-prime/.meta/config.json rename to nth-prime-solved/.meta/config.json diff --git a/nth-prime/.meta/example.rs b/nth-prime-solved/.meta/example.rs similarity index 100% rename from nth-prime/.meta/example.rs rename to nth-prime-solved/.meta/example.rs diff --git a/nth-prime/.meta/tests.toml b/nth-prime-solved/.meta/tests.toml similarity index 100% rename from nth-prime/.meta/tests.toml rename to nth-prime-solved/.meta/tests.toml diff --git a/nth-prime/Cargo.toml b/nth-prime-solved/Cargo.toml similarity index 100% rename from nth-prime/Cargo.toml rename to nth-prime-solved/Cargo.toml diff --git a/nth-prime-solved/src/lib.rs b/nth-prime-solved/src/lib.rs new file mode 100644 index 0000000..e5cbffe --- /dev/null +++ b/nth-prime-solved/src/lib.rs @@ -0,0 +1,28 @@ +use std::convert::TryInto; + +fn is_prime(nb: u32) -> bool { + if nb == 2 { + return true; + } + + for j in 2..nb { + if nb % j == 0 { + return false; + } + } + return true; +} + +pub fn nth(n: u32) -> u32 { + let mut primes = Vec::new(); + + let mut i: u32 = 2; + while primes.len() <= n.try_into().unwrap() { + if is_prime(i) { + primes.push(i); + } + i = i + 1; + } + + primes.pop().unwrap() +} diff --git a/nth-prime/tests/nth-prime.rs b/nth-prime-solved/tests/nth-prime.rs similarity index 100% rename from nth-prime/tests/nth-prime.rs rename to nth-prime-solved/tests/nth-prime.rs diff --git a/nth-prime/src/lib.rs b/nth-prime/src/lib.rs deleted file mode 100644 index b0b5685..0000000 --- a/nth-prime/src/lib.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub fn nth(n: u32) -> u32 { - unimplemented!("What is the 0-indexed {}th prime number?", n) -}