繁体   English   中英

质数使负变为正且 0,1 = 非质数

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

我的代码:

        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");
        }

所以我想在负数例如 -11 时加上 1 - 并使它成为正数我尝试过:

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

但它没有像我预期的那样工作我也需要什么时候是 0 或 1 说 Not Prime

你有3个条件要检查:

如果 n 为 0 或 1,则不是质数

如果 n 为 2,则为质数

如果 n 大于 2,则需要检查它们是否有除数(如果有,则它们不是质数)

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");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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