protohack

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit c5fdc7191e8af07f7320c7a7ee7ba274a57de84f
parent 0ba651974de503656b89784f1280de9f62ed018b
Author: minerva-jupiter <ryouturn@gmail.com>
Date:   Wed,  1 Apr 2026 10:53:15 +0900

perf(prime): Optimize  by checking odd divisors up to square root

Diffstat:
Msrc/bin/prime.rs | 17++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/bin/prime.rs b/src/bin/prime.rs @@ -45,11 +45,18 @@ async fn main() -> std::io::Result<()> { fn is_prime(n: f64) -> bool { if n.fract() != 0.0 || n < 2.0 { return false; - } - for i in 2..(n as u64) { - if n % i as f64 == 0.0 { - return false; + } else if n == 2.0 { + return true; + } else if n % 2.0 == 0.0 { + return false; + } else { + let mut i = 3.0; + while i * i <= n { + if n % i == 0.0 { + return false; + } + i += 2.0; } + true } - true }