不用编程,能直接计算正确么?

  有这样一道题:一个五位数,它每一位上出现的数字都至少是两个,问一共有多少个这样的五位数。比如11222、21212就是满足条件的,而34435就是不满足条件的。不用计算机编程,直接用排列组合来计算,看看你算出的结果是多少。

  我的答案(鼠标选择):


  1、全部为同样的数字,C(9,1)=9,一共9种。
  2、由两种数字组成,必然为A数字3个,B数字2个,或者A数字2个,B数字3个。
  C(10,2)*2*P(5,5)/P(3,3)/P(2,2)=900。
  解释一下,C(10,2)=45代表从10个数字中选出两个数字的组合数,*2代表两种情况(A为三个或者B为三个),其实可以直接写成P(10,2),代表从10个数字中选出两个进行排列的数量,其中排在前面的为出现3次,后面的出现2次。
  P(5,5)=120代表五个数字进行全排列的数量。
  P(3,3)=6,P(2,2)=2。因为我们用5个数字进行全排列,其中三个数字相同,它们的排列是完全可以互换的,所以去掉重复的6个,剩下两个数字也是相同的,所以也要去掉重复的,所以在前面的结果基础上除以6和2。
  3、但是我们还要考虑一个问题,因为说的是5位数,也就是万位是不能为0的,而我们前面是把0放在0位也算的,所以要去掉0开头的情况。上面我们已经计算出来了全部的组合为900,而这个结果是将0与其它数字完全平等对待的,那么0在首位的比例必然为1/10,所以900/10=90。


  所以,最后的结果为9+900-90=819。

  上面是答案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值