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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

谁能写出打印质数最优化的程序?如打印出2000以内的所有质数。

1 个回复

倒序浏览
例如需求:打印出2000以内的所有质数。  思路:         用第一个循环去从2开始遍历2000以内的所有奇数,因为偶数一定不是质数;并用第二层循环去判断所遍历的数是不是质数,         要判断遍历的数是不是质数,只需整除完从2到自身的sqrt()的所有奇数即可,如果都没有被整除,则         该数为质数,否则不为质数。 */  class ZhiShuDemo  {         public static void main(String[] args)          {                 printZhiShu(2000);         }          public static void printZhiShu(int key)         {                 int count=1,flag=0;//定义一个计数器和标记;                                  //将2到9之间的数直接放到循环外面去判断,可省去无效的判断次数;                 System.out.println(2+"--"+count+" ");                 for (int x=3;x<9 ;x+=2 )                 {                         count++;                         System.out.println(x+"--"+count+" ");                 }                 for (int x=9;x<=key ;x+=2 )//对9到2000的数进行遍历;                 {                          for (int y=3;y<=(int)Math.sqrt(x);y+=2)//判断是否为质数,只需整除完2到自身的一半;

评分

参与人数 1黑马币 +20 收起 理由
探索者 + 20 虽然格式没弄好,但是很给力

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马