From dc797b2dda4616011f8b82968e4419c5d0975ba0 Mon Sep 17 00:00:00 2001 From: Mystikfluu Date: Sat, 25 Feb 2023 22:40:27 +0100 Subject: [PATCH] add simple sqrt check --- src/is_prime.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/is_prime.rs b/src/is_prime.rs index 5780bd1..9a9b0d4 100644 --- a/src/is_prime.rs +++ b/src/is_prime.rs @@ -11,6 +11,10 @@ pub mod is_prime { if BigUint::from(4u8) > *number { return true; } + + if number.sqrt().pow(2) == *number { + return false; + } let two = BigUint::from(2u8); @@ -22,7 +26,7 @@ pub mod is_prime { let one = BigUint::from(1u8); let zero = BigUint::from(0u8); - let sqrtnum = number.sqrt()+&one; + let sqrtnum = number.sqrt()+&one; //fake ceil function let mut is_prime = true; loop { i = i + &one;