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

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

/*求质数的思路:质数的定就是:只能被1和他自己整除的数。
*        步骤:1定义一个for循环,里面定义两个变量,一个表示:他能被多少个整数整除,另一个表示:要遍历的被除数;
*            2再定义一个for循环,变量要被整数除 的除数。
*            3判断被除数能被多少了整数整除
*            4当只能被一个数整除的时候,就是素数。*/
public class suShu_Demo1 {
        public static void main(String[] args) {
                //循环被除数,
          for(int count=0,i=2;i<100;i++){
                  //循环除数
                    for(int k=2;k<=i;k++){
                            //判断能被几个数整除
                          if(i%k==0)
                                  count++;}
                    //当只能被一个数整除的时候就是素数,这个数就是他本身。
                          if(count==1)
                                  System.out.println(i);
                          count=0;
         
        }
}
}  

评分

参与人数 1黑马币 +1 收起 理由
masai158 + 1 你没黑马币拉。送你一个

查看全部评分

19 个回复

正序浏览
谢谢啦!学习下
回复 使用道具 举报
前来学习,数学有点差,不怎么看得懂,今晚再看看
回复 使用道具 举报
就这一种方法么
回复 使用道具 举报
这种写法不简单    可以在for循环前面加标记,continue直接到外层循环
回复 使用道具 举报
mark,谢谢楼主分享
回复 使用道具 举报
留名,看看
回复 使用道具 举报

其实只要遍历到shu的开平方就行  大于shu的开平方做的比较都是无意义的
回复 使用道具 举报
{:2_34:}  wo 是不是傻了。我既然在前几天做了一个梦。就是这个时候。这个时间。我在看你的算法题。 - -!!!!然后你的头像还不是你。。。真的要闯到鬼了
回复 使用道具 举报
设置一个布尔变量控制判断会更简单
回复 使用道具 举报
这是最简单的思路,但是效率不高。。
回复 使用道具 举报
import是啥意思
回复 使用道具 举报
  1. /*第七题:7、 编程打印所有的3位质数,质数特点:只能被1和其本身整除
  2. *
  3. *
  4. *
  5. *
  6. */
  7. package com.itheima;

  8. public class Text7 {

  9.         public static void main(String[] args) {
  10.                  int shu;//
  11.                  int xx;
  12.                 for (shu = 1; shu < 1000; shu++) {//遍历1到999所有的数
  13.                         for (xx = 2; xx <= shu / 2; xx++) {//遍历所有的除数。为了效率除数只取到被除数一半
  14.                                 if (shu % xx == 0)//如果有能被整出的跳过打印这个数
  15.                                         break;

  16.                         }
  17.                         if (xx > shu / 2) {//如果被除数到遍历完了则说明这个数是质数,打印即可
  18.                                 System.out.print(shu + ",");//为了方便阅读中间用,分割
  19.                         }
  20.                 }
  21.         }
  22. }
复制代码
回复 使用道具 举报 1 0
单线程xia 发表于 2014-8-20 19:55
到sqrt(i),count++ 也行啊,这个一直判断到最后效率低

把你改进的代码看看。现在的计数机,运算速度快。
回复 使用道具 举报
伊甸拾忆 发表于 2014-8-20 20:30
导入的包是什么意思?

那个类我写过其他代码。
回复 使用道具 举报
伊甸拾忆 来自手机 中级黑马 2014-8-20 20:30:00
12#
导入的包是什么意思?
回复 使用道具 举报
到sqrt(i),count++ 也行啊,这个一直判断到最后效率低
回复 使用道具 举报
我就看看,我不说话。。。
回复 使用道具 举报
看看~~~~
回复 使用道具 举报
路过~~~~
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马