- 精华
- 0
- 积分
- 1060
- 经验
- 1060 点
- 威望
- 105 点
- 金钱
- 105 ¥
- 魅力
- 105
|
因为不知道题目的要求是不是包含三位数都一样的,而且也不知道包含100和500这两个数,我们先假设都包含的话,算法如下:
有两种情况:仅有两个位数相同和三个位数都相同
1、仅有两个位数相同。百位数上,{1,2,3,4}任取一个,那么剩下三种可能性,就是个位数和百位数一致,或十位数和百位数一致,或个位数和十位数一致,同时还不能和剩下一位数不能与百位数相同,那么从0-9十个数中取9个,所以就出现了4*9*3=108,
2、再加上三位数都一样的,108+4=112
3、如果再加上500这个数,那就是112+1=113
不知道这样的算法有没有毛病,呵呵,应该是没有的吧,白天我好像数了数,的确是这个数,也许还有更简洁的算法吧。
这里面需要清楚看两个陷阱,一个是原题中是否有包含三个三位数的,另外一个是100和500是否也计算在内 |
|