黑马程序员技术交流社区

标题: 求100之间的质数有没有知道的,要简单点的 [打印本页]

作者: 359980621    时间: 2016-4-28 20:12
标题: 求100之间的质数有没有知道的,要简单点的
求100之间的质数有没有知道的,要简单点的
作者: dangyongping    时间: 2016-4-28 20:49
顶一下,有没有懂得分享一下
作者: 许霖彧    时间: 2016-4-28 21:02
public class Test03 {                                 public static void main(String[] args) {                                         //1.定义计数器统计素数的个数                                         int count = 0;                                         //2.遍历判断是否是素数并打印                                         for (int i = 2; i < 100; i++) {                                                 //3.调用方法,判断1个数是否是素数                                                 boolean isPrime =isPrime(i);                                                 if (isPrime) {                                                         System.out.print(i + " ");                                                         count++;                                                         if(count%5==0) {                                                                 System.out.println();                                                         }                                                 }                                         }                                         System.out.println();                                         System.out.println("1-100的素数的个数为:" + count);                                 }                                 //判断是否是素数的方法                                 public static boolean isPrime(int num) {                                         for (int i = 2; i < num; i++) {  //i的取值范围[2到 num-1]                                                 if ((num % i) == 0) {                //能被[2到 num-1]之间的数整除                                                         return false;                                                 }                                         }                                         return true;                                 }                         }
作者: 许霖彧    时间: 2016-4-28 21:04
public class Test03 {
                                public static void main(String[] args) {
                                        //1.定义计数器统计素数的个数
                                        int count = 0;
                                        //2.遍历判断是否是素数并打印
                                        for (int i = 2; i < 100; i++) {
                                                //3.调用方法,判断1个数是否是素数
                                                boolean isPrime =isPrime(i);
                                                if (isPrime) {
                                                        System.out.print(i + " ");
                                                        count++;
                                                        if(count%5==0) {
                                                                System.out.println();
                                                        }
                                                }
                                        }
                                        System.out.println();
                                        System.out.println("1-100的素数的个数为:" + count);
                                }
                                //判断是否是素数的方法
                                public static boolean isPrime(int num) {
                                        for (int i = 2; i < num; i++) {  //i的取值范围[2到 num-1]
                                                if ((num % i) == 0) {                //能被[2到 num-1]之间的数整除
                                                        return false;
                                                }
                                        }
                                        return true;
                                }
                        }
作者: 359980621    时间: 2016-4-28 22:52
public static void main(String[] args) {
                for (int i = 1; i <=100; i++) {
                        int count = 0;
                        for (int j = 1; j <= i; j++) {
                                if(i%j==0){
                                        count++;                                       
                                }
                        }
                        if(count==2){
                                System.out.print(i+" ");
                        }
                }
               
        }还有没有比这个简单的整理了下发现这个最容易理解了
作者: 幻影之舞    时间: 2016-4-28 23:01
class Text_TG2 {
        public static void main(String[] args) {
                int sum = 0;
                for (int i = 2;i <=100;i++) {
                        int count1 = 0;
                        for (int j=1;j <= i;j++ ) {
                                if (0 ==i%j) {
                                        count1++;
                                }       
                        }
                        if (2 == count1) {
                                System.out.print(i + " ");
                                sum++;
                                if (0 == sum%5) {
                                        System.out.println();
                                }
                        }
                }
                //System.out.println(sum);
        }
}
/*(1)打印1-100之间的所有素数及个数
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如果一个大于1的自然数,这个数只能被1和其本身整除,这个数就叫素数。
        (4)如:2 3 5 7 11
        */
作者: 幻影之舞    时间: 2016-4-28 23:03
和上个差不多啊
作者: 幻影之舞    时间: 2016-4-28 23:05
楼主我真不是抄你的 这是一个作业题
作者: 359980621    时间: 2016-4-28 23:10
做代码题就是学习思路,有好的思路就分享下子嘛
作者: BackGaoz    时间: 2016-4-28 23:24
  1. package com.heima.bean;

  2. public class PrimeNumber {
  3.         /*
  4.          * 求1到100之间质数的个数
  5.          *
  6.          * 质数:就是1到100 之间,任意一个数,需要除以从2开始到他本身或者本身一半之间的所有整数,如果都不能整除,就说明是质数
  7.          */
  8.         public static void main(String[] args) {
  9.                  int i,j;
  10.                  int count = 0;                                                                //计数器
  11.                  for(i = 1; i <= 100; i++){                                        //一百以内包含一百
  12.                          if (i == 1) {                                                                //如果是1就跳出本次循环
  13.                                 continue;
  14.                         }
  15.                          for(j = 2; j <= i / 2; j++){                                //被除数除以从2开始,一直到被除数的一半
  16.                                  if(i % j == 0)                                                 //只要能被整数就跳出循环
  17.                                          break;
  18.                          }
  19.                          if (j > i / 2)                                                         //如果不能被整除,需要判断这个数是否大于了被除数的一半如果不能被整除
  20.                                  count++;                                                                //需要判断这个数是否大于了被除数的一半,如果不大于的话,那么还需要继续判断
  21.                  }                                                                                                //直到除数大于被除数的一半时,还不能整数,就说明是质数
  22.                  System.out.println(count);
  23.         }

  24. }
复制代码

相对上面的来说,我的还是比较简单的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2