我想检查一个数字是否是素数。我有代码但部分工作

时间:2016-02-05 05:19:27

标签: java

//方法2.检查素数。

public boolean primecheck(int number)
    {  
        for(int i=2;2*i<number;i++){
            if(number % i == 0)
                return false;
        }
        return true;
    }

我得到以下数字2到20的输出如下:

enter image description here

3 个答案:

答案 0 :(得分:3)

您需要更改循环终止和主要检查条件。

boolean flag=true;
        for(int i=2;i<=n/2;i++)
        {
            if(n%i==0)
            {
                flag=false;
                break;
            }
            else
                flag=true;
        }
        if(flag)
        {
            System.out.println("given number is prime");
        }
        else
        {
            System.out.println("given number is not prime");
        }

答案 1 :(得分:0)

我会做这样的事情,检查数字是否为素数。

public boolean primecheck(int n) {
    for(int i=2;i<n;i++) {
        if(n%i==0)
            return false;
    }
    return true;
}

答案 2 :(得分:0)

您需要将循环条件更改为

public boolean primecheck(int number)
    {  
        for(int i=2;i*i<=number;i++){
            if(number % i == 0)
                return false;
        }
        return true;
    }