1到9999中有多少个数带9

如题所述

一.先反算一个9都没有的数的个数:
1位数:
8*1=8

2位数:十位1~8,个位0~8
8*9=72

3位数:百位1~8,十、个位0~8
8*9*9=648

4位数:千位1~8,百~个位0~8
8*9*9*9=5832

合计:6560

二、所以含9的数字共有:9999-6560=3439个
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-20
设有四个空格摆在一排
1.只包含一个9的情况:在其中放入一个9,有四种选择,其他空格在0到8之间选择一个放入,每个空格有9中选择,所以共有4*9*9*9=2956个
2.包含两个9的情况:在四个空格中选两个空格放9有C4(2)=6种,同理剩下两个空格有9*9种放法 共6*9*9=486个
3.包含三个9的情况 四个空格选3个放9有4种选法,剩下一个空格有9种,共4*9=36个
4.包含4个9的就一个
综上所述共有2956+486+36+1=3439个本回答被提问者采纳
第2个回答  2010-10-20
下面是我编程计算的,专门给你拿java写的程序,执行结果为4000,也就是说1到9999中有4000个数带9
既然程序已经编好了,就附带说一下别的结论。
1到999中有300个数带9
1到99中有20个数带9
1到9中有1个数带9

其实不编程序也很简单。1--9中有1个,10--90有9个91-99有10个,
那么1--100有20个希望你能看明白。

public class Panduan {
void Shushu(){
int m=0;
int num=0;
for (int i = 1; i < 10000; i++) {
String s="";
String t=i+s;
char []x=t.toCharArray();
for (int j = 0; j < x.length; j++) {
if (x[j]=='9') {
m++;
}else {
continue;
}
}
}
num=num+m;

System.out.println(num);
}
public static void main(String[] args) {
Panduan panduan=new Panduan();
panduan.Shushu();
}
}
第3个回答  2010-10-20
1--9 1个
10-19 1个
20-89 8个

90-99 10个

100-199 20个

200-899 120个

900-999 120个

1000-1899....
第4个回答  2010-10-20
9999-9*9*9*9+1