2007年2月18日

          public ? class ?Prime? {
          ????
          public ? static ? void ?main(String[]?args)? {
          ????????
          long ?timeStart? = ?System.currentTimeMillis();
          ????????
          int []?prime_array? = ? new ? int [ 10000 ]; // 用來保存10萬以下的質數(共9592個)
          ????????prime_array[ 0 ] = 3 ;
          ????????prime_array[
          1 ] = 5 ;
          ????????
          int ?i,primeId =- 1 ,m = 2 ,prime;
          ????????
          // System.out.println(2); // 質數2直接打出^_^
          ???????? for ?( int ?a? = ? 3 ;?a? <= ? 100000 ;?a? += ? 2 )? {
          ????????????
          if (m * m < a) {
          ????????????????
          // 避免使用sqrt()
          ????????????????m ++ ;
          ????????????}

          ????????????
          for ?(i = 0 ;(prime = prime_array[i]) <= m;i ++ )? {
          ????????????????
          if ?(a? % ?prime? == ? 0 )? {
          ????????????????????
          break ;
          ????????????????}

          ????????????}

          ????????????
          if ?(prime > m)? {
          ????????????????prime_array[
          ++ primeId] = a;
          ????????????????
          // 10萬以下的質數存起
          ????????????????
          // System.out.print(a+"?");
          ????????????}

          ????????}

          ????????System.out.println(
          " 計算10萬以下的質數(共 " + (primeId + 2 ) + " 個)耗時 " + (System.currentTimeMillis() - timeStart) + " 毫秒. " );
          ????????
          int ?maxNum = 100000000 ;
          ????????
          for ( int ?a? = ? 100001 ;?a? <= ?maxNum;?a? += ? 2 ) {
          ????????????
          if (m * m < a) {
          ????????????????
          // 避免使用sqrt()
          ????????????????m ++ ;
          ????????????}

          ????????????
          for ?(i = 0 ;(prime = prime_array[i]) <= m;i ++ )? {
          ????????????????
          if ?(a? % ?prime? == ? 0 )? {
          ????????????????????
          break ;
          ????????????????}

          ????????????}

          ????????????
          if ?(prime > m)? {
          ????????????????
          ++ primeId;
          ????????????????
          // System.out.print(a+"?");
          ????????????}

          ????????}

          ????????System.out.println(maxNum
          + " 以下共 " + (primeId + 2 ) + " 個質數. " );
          ????????System.out.println(
          " 耗時 " + (System.currentTimeMillis() - timeStart) + " 毫秒. " );
          ????}

          }

          posted @ 2007-02-18 21:20 zero 閱讀(428) | 評論 (1)編輯 收藏
           
          今天開始看java,我寫的第一個東東~

          1public?class?HelloWorld?{
          2????public?static?void?main(String[]?args)?{
          3????????System.out.println("Hello?World!");
          4????}

          5}

          6
          posted @ 2007-02-18 21:17 zero 閱讀(131) | 評論 (1)編輯 收藏
          僅列出標題  
           
          主站蜘蛛池模板: 衢州市| 苏尼特右旗| 霍州市| 汉沽区| 永德县| 锦州市| 镇雄县| 文化| 海林市| 宕昌县| 左云县| 灵丘县| 深水埗区| 潞城市| 天峻县| 大邑县| 阿克苏市| 高台县| 安塞县| 郯城县| 晋城| 甘洛县| 桦南县| 同德县| 化州市| 长治县| 海阳市| 富蕴县| 淮安市| 美姑县| 沧源| 周口市| 富川| 黑河市| 筠连县| 呼图壁县| 中方县| 神木县| 通州区| 清徐县| 房产|