A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 娶个英文名字 中级黑马   /  2016-5-23 00:55  /  702 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
public class Prog2{
    public static void main(String[] args){
        int m = 1;
        int n = 1000;
        int count = 0;
        //统计素数个数
        for(int i=m;i<n;i++){
            if(isPrime(i)){
                count++;
                System.out.print(i+" ");
                if(count%10==0){
                    System.out.println();
                }
            }
        }
        System.out.println();
        System.out.println("在"+m+"和"+n+"之间共有"+count+"个素数");
    }
    //判断素数
    private static boolean isPrime(int n){
        boolean flag = true;
        if(n==1)
        flag = false;
        else{
            for(int i=2;i<=Math.sqrt(n);i++){
            if((n%i)==0 || n==1){
                flag = false;
                break;
            }
             else
            flag = true;
        }
        }
        return flag;
    }
}

4 个回复

倒序浏览
这么6的帖子,版主求精华
回复 使用道具 举报
能在简洁一点吗,可以不用另写一个方法
回复 使用道具 举报
不错啊
回复 使用道具 举报
不明觉厉  支持楼主
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马