From c020da2c76111910a8cefb4d59f51618530c0614 Mon Sep 17 00:00:00 2001 From: gnieark Date: Tue, 24 Nov 2015 22:39:49 +0100 Subject: [PATCH] dont calcluate sqrt each time --- libc/getPrimeNumber.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libc/getPrimeNumber.c b/libc/getPrimeNumber.c index 2816241..fa388c5 100644 --- a/libc/getPrimeNumber.c +++ b/libc/getPrimeNumber.c @@ -11,14 +11,15 @@ int main(int argc, char *argv[]) else{ int limit= atoi(argv[1]); - int *primes, i, isPrime,count=2, number=3; + int *primes, i, isPrime,count=2, number=3,root; primes=(int*)malloc(limit*sizeof(int)); primes[0]=2; primes[1]=3; - + while( count <= limit){ isPrime=1; - for (i=0; ((primes[i] <= sqrt(number)) && (i < count)) ; i=i+1){ + root=sqrt(number); + for (i=0; ((primes[i] <= root) && (i < count)) ; i++){ if(number%primes[i] == 0){ isPrime=0; break;