实际上是一样的.
你第一次算法是正确的.
第二次计算中,个位10个数,十位9个数是对的.
但对于百位来讲,你是假定0没有被前两位选取,所以用7乘.
但你没考虑到,如果0已经被前两位选取了,那应该得乘8呢.
所以,要从个位开始计算,必须先把0放在一边,先计算.然后再把0算进去.即
9*8*7+9*8+9*8=648
或者:
先把0放在百位,然后减去0在百位的种数.
10*9*8-9*8=648
实际上是一样的.
你第一次算法是正确的.
第二次计算中,个位10个数,十位9个数是对的.
但对于百位来讲,你是假定0没有被前两位选取,所以用7乘.
但你没考虑到,如果0已经被前两位选取了,那应该得乘8呢.
所以,要从个位开始计算,必须先把0放在一边,先计算.然后再把0算进去.即
9*8*7+9*8+9*8=648
或者:
先把0放在百位,然后减去0在百位的种数.
10*9*8-9*8=648