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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Jackie7 中级黑马   /  2015-6-12 23:11  /  668 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
需求:判断101-200之间有多少个素数,并输出所有素数。
思路:
        1,需要遍历101-200
        2, 先取奇数,因为偶数能被2整除,
               再保证除数与被除数不能相等,
                再判断判x与y取模不能为0
                同时满足3个条件的,打印出来。
        3,打印的次数就是素数的个数。

               
*/
class ZhiShu
{
        public static void main(String[] args)
        {
               
                int count=0;
                for(int x=101;x<=200;x+=2)
                {
                        for(int y=2;y<x;y++)
                        {
                                if(x%y!=0)
                                {
                                        System.out.println(x);
                                        count++;
                                        break;
                                }
                               
                               
                        }
                       
                }
                System.out.println(count);
        }
}

5 个回复

倒序浏览
你这不是赚技术分的题嘛?:D
回复 使用道具 举报
人在旅途~东营 发表于 2015-6-12 23:20
你这不是赚技术分的题嘛?

对啊,看了下也就第二题能做做。但是还做不对。
回复 使用道具 举报
Jackie7 发表于 2015-6-12 23:25
对啊,看了下也就第二题能做做。但是还做不对。

好吧,代码给你参考下:
  1. package com.itheima;
  2. /*判断101-200之间有多少个素数,并输出所有素数。
  3. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。   
  4. * */
  5. public class Test1 {
  6.         public static void main(String[] args) {
  7.             int count = 0;
  8.             for(int i=101; i<200; i+=2) {
  9.              boolean b = false;
  10.              for(int j=2; j<=Math.sqrt(i); j++)
  11.              {
  12.                 if(i % j == 0) { b = false; break; }
  13.                  else           { b = true; }
  14.              }
  15.                 if(b == true) {count ++;System.out.println(i );}
  16.                                           }
  17.             System.out.println( "素数个数是: " + count);
  18.         }

  19. }
复制代码
回复 使用道具 举报
上面代码有点乱,看这个:
  1. package com.itheima;

  2. /*判断101-200之间有多少个素数,并输出所有素数。
  3. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。   
  4. * */
  5. public class Test1 {
  6.         public static void main(String[] args) {
  7.                 int count = 0;
  8.                 for (int i = 101; i < 200; i += 2) {
  9.                         boolean b = false;
  10.                         for (int j = 2; j <= Math.sqrt(i); j++) {
  11.                                 if (i % j == 0) {
  12.                                         b = false;
  13.                                         break;
  14.                                 } else {
  15.                                         b = true;
  16.                                 }
  17.                         }
  18.                         if (b == true) {
  19.                                 count++;
  20.                                 System.out.println(i);
  21.                         }
  22.                 }
  23.                 System.out.println("素数个数是: " + count);
  24.         }

  25. }
复制代码
回复 使用道具 举报
人在旅途~东营 发表于 2015-6-12 23:31
上面代码有点乱,看这个:

面向对象 还没学、如果不调用Math这个方法不知道要怎么做?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马