求解素数问题

来源:互联网 发布:炫踪网络裁人 编辑:程序博客网 时间:2024/05/16 02:03

素数定义

素数的定义是,除了能被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<i;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; //跳出循环                }            }        }    }}

有空继续更新其它做法…

0 0
原创粉丝点击