我的漫漫程序之旅

          專注于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
          主站蜘蛛池模板: 青神县| 永丰县| 西宁市| 日喀则市| 耿马| 镇安县| 西林县| 海伦市| 万荣县| 堆龙德庆县| 逊克县| 华亭县| 阿拉善左旗| 三江| 连云港市| 云和县| 宝山区| 辽宁省| 龙胜| 桐梓县| 罗源县| 木兰县| 鄯善县| 元朗区| 秦安县| 衡山县| 桦川县| 芒康县| 宣城市| 察雅县| 锡林浩特市| 神农架林区| 宝丰县| 离岛区| 汕尾市| 米林县| 深泽县| 怀仁县| 阿城市| 绥滨县| 林甸县|