2015年4月19日日曜日

java を学ぼう 4 素数を判定&列挙

今回は素数を判定&列挙するプログラムです。
static boolean isPrimeNum(int x)という部分で x が素数かどうかを判定しています。その後の操作でその結果を利用して、素数だった場合にSystem.out.printlnで表示しています。

なお、以下はプログラミング講座cclipさんからの引用です。

public class PrimeNum {
    final static int MIN = 100, MAX = 500;

    //xが素数か判定する
    static boolean isPrimeNum( int x ) {
        if( x == 2 ) return true;
        if( x < 2 || x % 2 == 0 ) return false;
        for( int n = 3; n <= Math.sqrt((double)x); n += 2 )
            if( x % n == 0 ) return false;
        return true;
    }
    public static void main( String[] args ) {
        int cnt = 0;

        System.out.println( MIN+"から"+MAX+"までの素数" );
        for( int n = MIN; n <= MAX; n++  ) {
            if( isPrimeNum( n ) ) {
                System.out.print( n + " " );
                if( ++cnt%5==0 ) System.out.println();
            } 
        }
    }
}