isPrime

本文最后更新于:2 小时前

从 2~x-1 ,测试是否可以整除

1.0

int x = in.nextInt();
int flag = 1;

for ( int i=2; i<=x-1; i++ )
{
    if( x % i == 0 )
    {
        flag = 0;
        break;
    }
}

if( flag == 1 && x != 1 )
    System.out.println("true");
else
    System.out.println("false");

2.0

int x = in.nextInt();
boolean isPrim = true;

if ( x==1 )
    isPrim = false;

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

if( isPrim )
    System.out.println(x+"是素数");
else
    System.out.println(x+"不是素数");

3.0

除2以外的所有偶数一定不是素数,去除掉偶数后,从 3~x-1 ,每次加2

int x = in.nextInt();
boolean isPrim = true;

if ( x==1  || x%2 == 0 && x!=2 )
    isPrim = false;

for ( int i=3; i<x; i+=2 )
{
    if( x % i == 0 )
    {
        isPrim = false;
        break;
    }
}

if( isPrim )
    System.out.println(x+"是素数");
else
    System.out.println(x+"不是素数");

4.0

无需到x,到sqrt(x)即可

int x = in.nextInt();
boolean isPrim = true;

if ( x==1  || x%2==0 && x!=2 )
    isPrim = false;

for ( int i=3; i<=Math.sqrt(x); i+=2 )
{
    if( x % i == 0 )
    {
        isPrim = false;
        break;
    }
}

if( isPrim )
    System.out.println(x+"是素数");
else
    System.out.println(x+"不是素数");

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!