From 8dcb42c2bd74e8b368cb808eea36a0c404814114 Mon Sep 17 00:00:00 2001 From: Naveen Hegde Date: Mon, 25 Dec 2017 14:39:09 +0530 Subject: [PATCH] Add Primality Test removed bits/stdc++.h as suggested. added brackets as suggested. --- Primality Test.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Primality Test.cpp diff --git a/Primality Test.cpp b/Primality Test.cpp new file mode 100644 index 000000000..0b4bb67de --- /dev/null +++ b/Primality Test.cpp @@ -0,0 +1,33 @@ +#include +using namespace std; + + + //A simple and efficient implementation of a function to test if a number is prime, based on the fact that + //Every Prime number, except 2 and 3 are of the form 6*k+1 or 6*k-1 for integer values of k. + + bool IsPrime( int number ) + { + if ( ( (!(number & 1)) && number != 2 ) || (number < 2) || (number % 3 == 0 && number != 3) ) + return false; + + for( int k = 1; 36*k*k-12*k < number;++k) + { + if ( (number % (6*k+1) == 0) || (number % (6*k-1) == 0) ) + return false; + } + return true; + } + + int main() + { + //Main Function + cout <<"Enter the value of n to check if Prime\n"; + int n; + cin >> n; + if(IsPrime(n)) + cout << n << " is Prime" <