我的漫漫程序之旅

          專注于JavaWeb開發
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數據加載中……

          給定一個十進制數N,寫下從1開始,到N的所有整數,然后數一下其中出現的所有"1"的個數。

          原題目:
          給定一個十進制數N,寫下從1開始,到N的所有整數,然后數一下其中出現的所有"1"的個數。
          例如:
          N=2,寫下1,2。這樣只出現了1個"1"
          N=12,寫下 1,2,3,4,5,6,7,8,9,10,11,12。這樣"1"的個數是5
          請寫出一個函數,返回1到N之間出現"1"的個數,比如 f(12)=5

          package com;

          import java.io.BufferedReader;
          import java.io.InputStreamReader;

          /*******************************************************************************
           * 原題目: 給定一個十進制數N,寫下從1開始,到N的所有整數,然后數一下其中出現的所有"1"的個數。 例如: N=2,寫下1,2。這樣只出現了1個"1"
           * N=12,寫下 1,2,3,4,5,6,7,8,9,10,11,12。這樣"1"的個數是5 請寫出一個函數,返回1到N之間出現"1"的個數,比如
           * f(12)=5
           * 
           * 
          @author zdw
           * 
           
          */

          public class MainTest
          {
              
          public static void main(String[] args) throws Exception
              
          {
                  System.out.println(
          "please input a number:");
                  BufferedReader br 
          = new BufferedReader(new InputStreamReader(System.in));
                  Integer num 
          = Integer.parseInt(br.readLine());
                  
          int count = 0;
                  
          for (int i = 1; i <= num; i++)
                  
          {
                      String tNum 
          = i + "";
                      
          if (tNum.indexOf("1"!= -1)
                      
          {
                          count
          ++;
                      }

                  }

                  System.out.println(
          "1 appear times of count:" + count);
              }


          }



          大家一起來分享你的算法吧。

          posted on 2008-11-04 09:26 々上善若水々 閱讀(3292) 評論(6)  編輯  收藏 所屬分類: Java筆試與面試

          評論

          # re: 給定一個十進制數N,寫下從1開始,到N的所有整數,然后數一下其中出現的所有"1"的個數。   回復  更多評論   

          貌似有點問題
          這個判斷條件欠妥
          if (tNum.indexOf("1") != -1)
          {
          count++;
          }
          數字包含多個“1”的情況,比如“11”貌似只能記錄1個
          2008-11-17 23:00 | crsky fan

          # re: 給定一個十進制數N,寫下從1開始,到N的所有整數,然后數一下其中出現的所有"1"的個數。   回復  更多評論   

          @crsky fan
          不會的.
          注意
          String tNum = i + "";
          只會得到一個字符(也就是一個數字)
          2008-11-18 15:03 | 々上善若水々

          # re: 給定一個十進制數N,寫下從1開始,到N的所有整數,然后數一下其中出現的所有"1"的個數。   回復  更多評論   

          你很自信你的程序正確很好,但是太盲目了!
          一樓數的很對!
          2008-12-08 10:35 | 123456

          # re: 給定一個十進制數N,寫下從1開始,到N的所有整數,然后數一下其中出現的所有"1"的個數。 [未登錄]  回復  更多評論   

          public static int countNum(int number) {

          int count = 0;

          StringBuffer buffer = new StringBuffer("");

          for (int i = 1; i <= number; i++) {
          buffer.append(i);
          }

          char[] chars = buffer.toString().toCharArray();

          for (char c : chars) {

          if (c == '1') {
          count++;
          }
          }

          return count;
          }
          2009-03-19 17:53 | zeyuphoenix

          # louis vuitton handbags  回復  更多評論   


          amazing
          2011-06-10 16:38 | louis vuitton handbags

          # re: 給定一個十進制數N,寫下從1開始,到N的所有整數,然后數一下其中出現的所有"1"的個數。 [未登錄]  回復  更多評論   

          用JAVA寫太簡單了
          2012-02-07 09:57 | xx
          主站蜘蛛池模板: 诏安县| 鹤山市| 邹平县| 南陵县| 芜湖市| 故城县| 贵阳市| 汽车| 新蔡县| 西畴县| 六安市| 瑞昌市| 英山县| 五指山市| 盐山县| 铜陵市| 晋城| 辛集市| 琼海市| 新龙县| 陆川县| 西畴县| 余干县| 利川市| 新田县| 乳山市| 武清区| 永顺县| 无极县| 水富县| 绥棱县| 会理县| 朝阳县| 梁平县| 巴彦县| 潜山县| 桓台县| 宣汉县| 鄂温| 长子县| 赣州市|