程序題:java程序統計1到1000出現幾個1

java程序實現1到1000出現幾個1 

不廢話,直接上代碼,需要的可以直接拷走:

 

/**
 * java程序實現1到1000出現幾個1  
 * @author hbxfyxw
 * @blog   http://blog.csdn.net/hbxfyxw
 */
public class CountNum {
	public static void main(String[] args) {
		StringBuffer str = new StringBuffer();  
		for (int i = 1; i <= 1000; i++) {   
			str.append(i);  
			}  
		String str2 = str.toString();    
		str2 = str2.replaceAll("[0|2|3|4|5|6|7|8|9]", "");    
		System.out.println(str2.length()); 
	}
}


 如果不是程序題的話,可以這樣想:

 

1-9:1個 10-19:11個 20-99:8個 總共1+11+8=20(1-99)
100開始,每個數必有一個1,故而100-199中,1的個數等於100+20(1-99中1的個數)=120
200-299中1的個數和1-99中1的個數一樣,爲20個。
同理300-399:20
400-499:20
500-599:20
。。。
共有20X9+120+1(1000含有一個1)=301個


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章