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個