简体   繁体   中英

Prime number make negative to positive and 0,1 = not prime

My code:

        int n = int.Parse(Console.ReadLine());
        bool result= true;

        if (n < 0)
        {
            n = -n;
        }

        for (int i = 2; i < n; i++)
        {
            if (n % i == 0)
            {
                result = false;
                break;
            }
        }

        if (result)
        {
            Console.WriteLine("Prime");
        }
        else
        {
            Console.WriteLine("Not prime");
        }

So I want to make it when is negative number for example -11 to add 1 more - and make it positive I tried with:

        if (n < 0)
        {
            n = -n;
        }

But it didn't worked as I expect also I need when is 0 or 1 to say Not Prime

You have 3 conditions to check:

if n is 0 or 1, not a prime number

if n is 2, prime number

if n is greater than 2, you need to check if they have any divisors (if yes, they are not prime)

int n = int.Parse(Console.ReadLine());
bool result= true;

if (n < 0)
{
    n = -n;
}
if (n<2)
    result = false;
else if (n==2)
    result = true;
else
    for (int i = 2; i < n; i++)
    {
        if (n % i == 0)
        {
            result = false;
            break;
        }
    }

if (result)
{
    Console.WriteLine("Prime");
}
else
{
     Console.WriteLine("Not prime");
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM