黑马程序员技术交流社区

标题: 判断101-200之间有多少个素数,并输出所有素数 [打印本页]

作者: 青皮核桃    时间: 2015-6-26 21:43
标题: 判断101-200之间有多少个素数,并输出所有素数
判断101-200之间有多少个素数,并输出所有素数
作者: limingdada    时间: 2015-6-26 22:34
这个是入学测试题吧。
作者: fantianfei    时间: 2015-6-27 08:51
哈哈,我感觉楼上正解
作者: 小骆驼    时间: 2015-6-28 15:03
我给你的是1~200之间,你可以自己改变范围来随便测
作者: 小骆驼    时间: 2015-6-28 15:04
/* 需求:判断1-200之间有多少个素数,并输出所有素数  思路:通过一个for循环来遍历这个给定的区间,通过if来判断         比如x%2==0,说明x能被2除所以不是素数,如果x/2!=0,说明x不能被2除,但是有可能被         3整除,所以还要判断x%3是否==0,一次类推,x%4,%5....所以定义一个变量y,通过for         循环来不断判断x%y是否==0,当y取值等于x/2时就可以了.         在通过循环完x%y后,如果x%y都不==0,就说明这个x是素数.通过定义的变量++方式来记录         素数的个数. */ class B {         public static void main(String[] args)         {                 int a = 0;//定义一个变量来记录出现素数的个数.                 A:for (int x = 1;x<=200 ;x++ )                 {                         if (x ==1)//1不是素数,所以排除出去                                 continue A;                         if(x==2)//2是一个特殊的素数,只有2是偶数,其他的素数都是奇数.所以单独判断                         {                                 System.out.println(x+"是素数");                                 a++;                                 continue A;                         }                                 for (int y = 2;y <= x/2 ;y++)                         {                                 if(y!=(x/2))                                 {                                         if (x%y==0)                                                 continue A;                                 }                                 else                                         a++;//记录素数的个数                         }                         System.out.println(x+"是素数");                 }                 System.out.println("这个区间素数的个数是"+a+"个");         } }




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