10000!的结果中有多少个2?求算法?该如何处理

10000!的结果中有多少个2?求算法?
如题目所说,不要说先算出10000阶乘的结果,再找出2的个数。这样就不必说啦!求其他的算法!给个思路

------解决方案--------------------
编程之美这本书里面有详细的介绍,第二章
------解决方案--------------------
1-9里面有1个2 个位是一个2
10-19里面有1个2 个位有两个2
20-29里面有13个2 个位有三个2 十位有10个2
30-39里面有14个2 个位有四个2 十位有10个2

分析三位数、四位数等等
你如果真的想找到解法就仔细想想这种方式