From 37e8eabc45293e4068b01072af2720f8129c47b5 Mon Sep 17 00:00:00 2001 From: Samehadar Date: Mon, 25 Mar 2019 00:38:37 +0300 Subject: [PATCH] Optimize isPrime method. --- interactive/ec.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/interactive/ec.js b/interactive/ec.js index e82d6437a96..9f3dfed94da 100644 --- a/interactive/ec.js +++ b/interactive/ec.js @@ -91,20 +91,24 @@ } }; - var isPrime = function( n ) { + var isPrime = function (n) { n = +n; if( n < 2 || n % 2 === 0 ) { return n === 2; } - for( var m = 3; m < n; m += 2 ) { - if( n % m === 0 ) { - return false; + let prime = n !== 1; + const sqrtN = Math.floor(Math.sqrt(n)); + + for (var m = 3; m < sqrtN + 1; m += 2) { + if (n % m === 0) { + prime = false; + break; } } - return true; + return prime; }; ///////////////////////////////////////////////////////////////////////////