0到9999这一万个数中有多少个数字7

这题如何做啊。
加:不要用编程
全部评论
从0000~9999总共有,有多少个0,有多少个1,有多少个2,他们的概率都是一样的,7就是1/10 10000个数字*4位数*1/10=4000
点赞 回复 分享
发布于 2017-02-19 19:34
4*9^3+c4'2*9^2+4*9+1
点赞 回复 分享
发布于 2016-09-14 13:15
0-9999  即 XXXX个空位 先固定千为7 ,则百位 有0-9 10种选法,十位也是0-9 十中选法 各位也是0-9 10种选法  即 当千位 为7 时 10*10*10 = 1000种, 固定百位 同理 千位 0-9 10中选法 百位,个位也是10种  即当固定 百位 为7 时 ,有1000种,同理 十位个位为7时,也有1000种,即总共 1000+1000+1000+1000=4000种
点赞 回复 分享
发布于 2016-09-14 14:18
答案是4000 我博客写了思路和理由:http://www.jianshu.com/p/2ca7a071aba4
点赞 回复 分享
发布于 2017-02-19 18:31
Dp [i]表示不超过数字i时有多少个7,那么Dp[i]=Dp[i-1]+f(i),f为数字i上7的个数。
点赞 回复 分享
发布于 2016-09-14 12:30
两种解法,第一种 固定某一位为7其他三位共有1000种不同数字 因此答案为4000 第二种 四位数一共10000个,每个有4个数字不足四位的前面补零,这样共有40000个数字,每个数字出现频率相同,故有4000个数
点赞 回复 分享
发布于 2016-09-14 12:35
dp = [1] for _ in range(4):     dp.append(9*dp[-1]+(10**len(dp)-dp[-1])+dp[-1]) print dp[-1] 大概是这样?
点赞 回复 分享
发布于 2016-09-14 12:44
leetcode number of digit one?
点赞 回复 分享
发布于 2016-09-14 12:49
楼下的做法是正确的,但是后面是加4而不是加1? 说位数dp的是什么鬼
点赞 回复 分享
发布于 2016-09-14 14:14

相关推荐

shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务