现在的位置: 首页 > 综合 > 正文

传说中年薪25万的面试题

2013年03月08日 ⁄ 综合 ⁄ 共 632字 ⁄ 字号 评论关闭

问:给定数字1~100,000,000数字中,计算1出现的次数,如数字11(1出现两次)

答:

1、加上数字0,不影响结果(0没有包含数字1)

2、100,000,000,1出现1次

3、计算 0 ~ 99,999,999中1的次数,该问题等价于 00,000,000 ~ 99,999,999数字中1出现的次数(总数字个数为100,000,000),该问题,可进一步分解为8个情况:

8位都是1的数字个数S8,

8位有7位是1的数字个数S7,

8位有6位是1的数字个数S6,

…..,

8位中只有一位是1的数字个数S1。

4、所以1出现的总数为  1 + S8*8 + S7*7 + … + S1*1

5、其中Sn = Pn * 100,000,000 , Pn为数字中出现n个1的概率 ( 0<n<9,n为整数)

6、Pn =  C(8, n) * 0.1^n * 0.9^(8-n)

7、所以1出现的总数为

1 +

C(8, 8) * 0.1^8 * 0.9^0 * 100,000,000 * 8 +
C(8, 7) * 0.1^7 * 0.9^1 * 100,000,000 * 7 +
C(8, 6) * 0.1^6 * 0.9^2 * 100,000,000 * 6 +
C(8, 5) * 0.1^5 * 0.9^3 * 100,000,000 * 5 +
C(8, 4) * 0.1^4 * 0.9^4 * 100,000,000 * 4 +
C(8, 3) * 0.1^3 * 0.9^5 * 100,000,000 * 3 +
C(8, 2) * 0.1^2 * 0.9^6 * 100,000,000 * 2 +
C(8, 1) * 0.1^1 * 0.9^7 * 100,000,000 * 1

=  ?

抱歉!评论已关闭.