我的漫漫程序之旅

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

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

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

          package com;

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

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

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

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

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

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

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

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

          用JAVA寫太簡單了
          2012-02-07 09:57 | xx
          主站蜘蛛池模板: 子长县| 穆棱市| 辽宁省| 东乌珠穆沁旗| 金门县| 台州市| 晋宁县| 武冈市| 务川| 微山县| 精河县| 防城港市| 鄯善县| 沛县| 四子王旗| 富源县| 贺州市| 镇雄县| 武穴市| 靖安县| 龙游县| 唐海县| 南开区| 营山县| 宁南县| 长沙市| 浦东新区| 阿瓦提县| 揭东县| 武义县| 蓬溪县| 宝山区| 荃湾区| 莆田市| 洛浦县| 安西县| 霍林郭勒市| 南丹县| 丽江市| 泽普县| 礼泉县|