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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Feboam   /  2016-4-4 00:15  /  1584 人查看  /  23 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Feboam 来自手机 中级黑马 2016-4-5 00:07:06
21#
BackingAlongRay 发表于 2016-4-4 23:43
这个题方法实在是多

嗯嗯   只要自己想滴  就能说明理解这知识点了    晚安咯
回复 使用道具 举报
这得回去重新复习了我,乍一看居然没有头绪
回复 使用道具 举报
  1. package test;

  2. public class Test3 {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 boolean flag;
  8.                 int a = 100;
  9.                 int count = 0;
  10.                 for (int i = 1; i <= a; i++) {
  11.                         flag = isPrime(i);
  12.                         if (flag) {
  13.                                 System.out.print(i + "\t");
  14.                                 count++;
  15.                                 if (count % 5 == 0)
  16.                                         System.out.println();
  17.                         }
  18.                 }
  19.         }

  20.         /*
  21.          * 素数:只能被1和该数本身整除的数
  22.          * 分析:只要不能被整除,也就是使用%运算符得到的结果等于0, 就不是素数
  23.          */
  24.         public static boolean isPrime(int a) {
  25.                 /*
  26.                  * 算到该数平方根就可以了
  27.                  * 为什么是平方根?
  28.                  * 假设数    a = m * n 且 m <= n;(m 和 n 就是它的两个解,也就是2个实数根)
  29.                  *        则     m * m <= m * n;
  30.                  *            √m*m  <=  √m*n;
  31.                  *                m <= √a ;
  32.                  *        所以,只需要求从2到√a之间的所有值就可以了
  33.                  */
  34.                 //遍历从2至a的平方根的所有数
  35.                 for (int i = 2; i <= Math.sqrt(a); i++) {
  36.                         //如果有值能够整除a,则不是素数
  37.                         if (a % i == 0) {
  38.                                 return false;
  39.                         }
  40.                 }
  41.                 //如果知道遍历完都没有找到该值,则该数就是素数
  42.                 return true;
  43.         }
  44. }
复制代码
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马