求解素数问题

素数定义

素数的定义是,除了能被1和它本身整除而不能被其他任何数整除的数。

例题

经典例题:输入101~200的素数(提示:素数是除了1和本身外,不能被其它整数整除)

/*方法一:根据素数定义 只需要用2到n-1去除n,如果都除不尽,则n是素数,否则,只要其中有一个数能整除则n不是素数。*/

public class Prime {

    public static void main(String[] args) {
        int count=0;
        for(int i=101;i<=200;i++){ //循环101~200
            for(int j=2;j//循环从2~i本身的数去整除
                if(i%j==0){
                    break;  //能整除,不是素数
                }else{
                    count++; //素数输出次数
                    System.out.print(i+"\t"); //输出素数
                    if(count%5==0){ //每五个素数就换行
                        System.out.println(); 
                    }
                    break; //跳出循环
                }
            }
        }
    }
}
//方法二:
public class Prime {

    public static void main(String[] args) {
        int count=0;
        for(int i=101;i<=200;i++){ //循环101~200
            for(int j=2;j<=Math.sqrt(i);j++){ //Math.sqrt(i)返回正确舍入的一个double值的正平方根,算法比方法一快
                if(i%j==0){
                    break;  //能整除,不是素数
                }else{
                    count++; //素数输出次数
                    System.out.print(i+"\t"); //输出素数
                    if(count%5==0){ //每五个素数就换行
                        System.out.println(); 
                    }
                    break; //跳出循环
                }
            }
        }
    }
}

有空继续更新其它做法…

你可能感兴趣的:(java,素数,Java)