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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 菜鸟小6 中级黑马   /  2014-10-26 21:46  /  1533 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求详细说明

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

9 个回复

倒序浏览
本帖最后由 夏夏更健康 于 2014-10-26 22:03 编辑

我也是菜鸟,我的题里边这样写的
for(int x= 100;x<1000;x++)
                {
                        int count = 0;//定义一个计数器
                        
                        for(int y =2;y<x;y++)
                        {
                                if(x%y==0)
                                        count++;
                                }
                                
                        if(count==0)//因为质数只能被1跟它本身整除,如果这区间内没有能被它整除的就说明它是质数喽
                        {
                                System.out.print(x+"\t");
                                }
回复 使用道具 举报
质数,即只能被本身和1整除。
具体的定义可以搜一下
单独检查的有2。1不算质数。
在写代码的时候,只需要检查从2(包括2)开始
到这个数的一半(可以不包括一半,包括了2就没必要包括一半了)。
因为超过一半的话
那肯定不能整除
只要在2到这个数字一半的区间内存在可以整除的数字
那这个数字就不是质数。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

回复 使用道具 举报
public class Test06 {

        public static void main(String[] args)
        {

                boolean b = false;   
      for(int x = 100;x<=999;x++)//  建立for嵌套循环
      {
              for(int y=2;y<=(x-1);y++)  //从2开始除,  直到它本身-1,
              {
                      if(x%y==0)   //判断它的被除数里面有没有能整除的
                      {
                              b = false;  
                            break;  //如果能整除就跳出里面的循环
                      }
                      else
                      {
                              b=true;   //这里需要把里面循环的每个数都判断下才能判断出
                      }
                             
              }
              if(b==true)              //判断是不是质数
                      {
           
                      System.out .print(x+"\t");  // 打印出质数
                      }
            }            
     }
}
回复 使用道具 举报
关于质数问题主要是在循环那个地方为什么取平方根的问题,这是数学里面解的对称性原理,以平方根为界,解也就是可以被整除的数是均匀分布的,这是数字的分布特点,一种规律而已。
回复 使用道具 举报
javaAndroid 发表于 2014-10-26 23:04
质数,即只能被本身和1整除。
具体的定义可以搜一下
单独检查的有2。1不算质数。

很详细  说的很好 建议给你加技术分
回复 使用道具 举报
  1. class xiancheng extends Thread
  2. {
  3.         public static void main(String[] args) throws Exception {
  4.                 ArrayList<Integer> a=new ArrayList<>();
  5.                 for(int i=2;i<100;i++)
  6.                 {
  7.                         for(int j=2;j<=i;j++)
  8.                         {
  9.                                 if(i==j)
  10.                                 {
  11.                                         a.add(j);
  12.                                 }
  13.                                 if(i%j==0)
  14.                                 {
  15.                                         j=i;
  16.                                 }
  17.                         }
  18.                        
  19.                 }
  20.                 for(Integer ss:a)
  21.                 {
  22.                         System.out.println(ss);
  23.                 }
  24.         }
  25. }小程序一枚希望有帮助哦
复制代码
回复 使用道具 举报
直接根据对小于自己一半的整数求余结果即可判断,有为零的就加一次计数器,要是最后计数器为零,就是质数。
回复 使用道具 举报
3楼说的很不错,不过最终还是自己理解了好
回复 使用道具 举报
我是来学习的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马