#include <iostream>
using namespace std;
bool isprime(unsigned long long int n) //Actual function
{
if (n==2){return true;}
else if(n%2==0){return false;} //Check divisibility by 2
else
{
unsigned long long int x=n/2,i=3; //Since the data type is int we dont need to worry about fraction part
for(;i<=x;i+=2)
{
if(n%i==0){return false;}
}
}
return true;
}
int main() //Driver program
{
unsigned long long int n;
cout<<"Enter a number to be checked for divisibility :\n";
cin>>n;
if(isprime(n))
{
cout<<"The number is prime.\n";
}
else
{
cout<<"The number is composite.\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpib29sIGlzcHJpbWUodW5zaWduZWQgbG9uZyBsb25nIGludCBuKSAvL0FjdHVhbCBmdW5jdGlvbgp7CiAgICAgaWYgKG49PTIpe3JldHVybiB0cnVlO30KICAgICBlbHNlIGlmKG4lMj09MCl7cmV0dXJuIGZhbHNlO30gIC8vQ2hlY2sgZGl2aXNpYmlsaXR5IGJ5IDIKICAgICBlbHNlCiAgICAgewogICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHg9bi8yLGk9MzsgICAvL1NpbmNlIHRoZSBkYXRhIHR5cGUgaXMgaW50IHdlIGRvbnQgbmVlZCB0byB3b3JyeSBhYm91dCBmcmFjdGlvbiBwYXJ0CiAgICAgICAgIGZvcig7aTw9eDtpKz0yKQogICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKG4laT09MCl7cmV0dXJuIGZhbHNlO30KICAgICAgICAgfQogICAgIH0KIHJldHVybiB0cnVlOwp9CmludCBtYWluKCkgLy9Ecml2ZXIgcHJvZ3JhbQp7CiAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IG47CiAgICBjb3V0PDwiRW50ZXIgYSBudW1iZXIgdG8gYmUgY2hlY2tlZCBmb3IgZGl2aXNpYmlsaXR5IDpcbiI7CiAgICBjaW4+Pm47CiAgICBpZihpc3ByaW1lKG4pKQogICAgewogICAgICAgICAgICAgICAgICBjb3V0PDwiVGhlIG51bWJlciBpcyBwcmltZS5cbiI7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgY291dDw8IlRoZSBudW1iZXIgaXMgY29tcG9zaXRlLlxuIjsKICAgIH0KfQo=