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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. /*
  2. 题目:判断101-200之间有多少个素数,并每五个一行,输出所有素数。
  3. 思路:用一个数除以2到它自身前一位数,如果能被整除,说明不是素数,否则就是素数。
  4. */
  5. class Sushu
  6. {
  7.         public static void main(String[] args)
  8.         {
  9.                 int x,y,count=0;
  10.                 for (x=101;x<=200 ;x++ )
  11.                 {
  12.                         //boolean flag=true;
  13.                         for (y=2;y<x ;y++ )
  14.                         {
  15.                                 if(x%y==0)
  16.                                 {
  17.                                         //flag=false;                                                                                                                                        //判断一个数是不是素数,如果不是,显示结果为错误。
  18.                                         break;
  19.                                 }
  20.                         }
  21.                                 if (y>x/2)                                                                                                                                        //如果结果不是错误,计数器加一次。因为false会判断出很多次,但true只有一次。
  22.                                 {
  23.                                         //System.out.println(x);
  24.                                         count++;
  25.                                 }
  26.                 }
  27.                 System.out.println("101到200之间一共有"+count+"个数是素数,它们分别是:");
  28.                 count=0;
  29.                 for (x=101;x<=200 ;x++ )
  30.                 {
  31. //                        boolean flag=true;
  32.                         for (y=2;y<=x/2 ;y++ )
  33.                         {
  34.                                 if(x%y==0)
  35.                                 {
  36.                                         //flag=false;
  37.                                         break;
  38.                                 }
  39.                         }
  40.                                 if (y>x/2)
  41.                                 {
  42.                                         /*
  43.                                         for (int l=1;l<=5 ;l++ )
  44.                                         {
  45.                                                 for (int i=1;i<=l ;i++ )
  46.                                                 {
  47.                                                         System.out.print("x="+x+"        ");
  48.                                                 }
  49.                                         System.out.print("\n");
  50.                                         */
  51.                                         System.out.print("x="+x+"\t");                                                                                                                //用count来进行5行一换行的打印。
  52.                                         if (++count%5==0)
  53.                                         {
  54.                                                 System.out.println();
  55.                                         }
  56.                                 }
  57.                 }
  58.                 System.out.println();
  59.         }
  60. }
复制代码


其中修改了许多,我做的方法还是太麻烦了,有什么简单的方法吗。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马