我的漫漫程序之旅

          專注于JavaWeb開發(fā)
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數(shù)據(jù)加載中……

          給定一個十進(jìn)制數(shù)N,寫下從1開始,到N的所有整數(shù),然后數(shù)一下其中出現(xiàn)的所有"1"的個數(shù)。

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

          package com;

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

          /*******************************************************************************
           * 原題目: 給定一個十進(jìn)制數(shù)N,寫下從1開始,到N的所有整數(shù),然后數(shù)一下其中出現(xiàn)的所有"1"的個數(shù)。 例如: N=2,寫下1,2。這樣只出現(xiàn)了1個"1"
           * N=12,寫下 1,2,3,4,5,6,7,8,9,10,11,12。這樣"1"的個數(shù)是5 請寫出一個函數(shù),返回1到N之間出現(xiàn)"1"的個數(shù),比如
           * 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 々上善若水々 閱讀(3291) 評論(6)  編輯  收藏 所屬分類: Java筆試與面試

          評論

          # re: 給定一個十進(jìn)制數(shù)N,寫下從1開始,到N的所有整數(shù),然后數(shù)一下其中出現(xiàn)的所有"1"的個數(shù)。   回復(fù)  更多評論   

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

          # re: 給定一個十進(jìn)制數(shù)N,寫下從1開始,到N的所有整數(shù),然后數(shù)一下其中出現(xiàn)的所有"1"的個數(shù)。   回復(fù)  更多評論   

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

          # re: 給定一個十進(jìn)制數(shù)N,寫下從1開始,到N的所有整數(shù),然后數(shù)一下其中出現(xiàn)的所有"1"的個數(shù)。   回復(fù)  更多評論   

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

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

          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  回復(fù)  更多評論   


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

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

          用JAVA寫太簡單了
          2012-02-07 09:57 | xx
          主站蜘蛛池模板: 岑溪市| 德阳市| 江阴市| 闵行区| 杨浦区| 大埔区| 金溪县| 区。| 孙吴县| 安顺市| 新晃| 兰西县| 芦溪县| 万山特区| 河东区| 盐城市| 金湖县| 新昌县| 高密市| 固镇县| 台山市| 江油市| 禹城市| 无为县| 怀宁县| 前郭尔| 易门县| 彭泽县| 青铜峡市| 合水县| 东安县| 宁远县| 清水河县| 五家渠市| 元氏县| 延津县| 平安县| 乌拉特后旗| 乌拉特中旗| 盐亭县| 大荔县|