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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 xiong910627 于 2014-9-5 12:24 编辑

范围是三位质数从100开始到1000结束。
* 判断是否是质数,将 i 依次除以 1 到 [(i + 2)/2],
* 计算其整除的次数,如果只有一次整除,那么该数为素数。


public class Test7 {

        public static void main(String[] args)
        {
                zhishu();
        }
        public static void zhishu()
        {
                //判断是否是质数。
                //三位质数从100开始到1000结束。
                for(int i = 100; i < 1000; i++ ) {  
                        
                        int factors = 0;  
                        
                        for(int j = 1; j < (i + 2)/2; j++ )
                        {  
                                // 将 i 依次除以 1 到 [(i + 2)/2]  
                                // 计算其整除的次数  
                                if((i % j) == 0) factors++;               
                        }  
                        // 如果只有一次整除,那么该数为素数  
                        if(factors < 2)   
                                System.out.println(i+"为质数");  
      }  
        }
}

7 个回复

倒序浏览
我抽的这道题
回复 使用道具 举报
我也抽的这到,突然觉得数学不好了:'(
回复 使用道具 举报
不明觉厉,真的很不错
回复 使用道具 举报
赞一个,继续加油
回复 使用道具 举报
       好棒好棒 ...
回复 使用道具 举报
public class Test8 {
        public static void main(String[] args) {
                int i,k;
                //循环被除数,
                for(i=100;i<1000;i++){       
                        //循环除数
                        for(k=2;k<=i/2;k++)
                                //判断能被几个数整除,若除被1整除外还有其他小于等于i/2的数整除,结束此次循环。
                                if(i%k==0)
                                        break;
                        if(k>i/2)
                                System.out.println(i);                                           
                }               
        }       
}
回复 使用道具 举报
可以的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马