文章目录
- 1.需求描述以及设计思路
- 2.代码编写及实现
1.需求描述以及设计思路
首先我们来理解一下什么是不重复的三位数:
不重复的三位数指的是,要求百位、十位、个位的三个数字都不能重复,从而形成的一个三位数。
例如由1、2、3、4、5这五个数字组成不重复的三位数,百位可以组成不重复数的个数为5个,十位组成不重复数的个数有4个,个位组成不重复数的个数有3个,这都是定律了。
为什么百位可以有5个呢,如果给出的几个数字不包含0,那么有多少个数字,百位可以组的数字就会是多少个,如果给出的数字中包含0,则百位可以组的数字就不能包含0,因为0开头就成了2位数了,如果给出的数字其中包含0,那么百位和十位可以组的数字个数是相同的。
十位组数字时,要去掉百位组的数字中的最后一个,例如1/2/3/4/5这五个数字,这些数字在百位中全涵盖了,到了十位组数字时,5将不能放到十位中去组数字,因为有可能会导致百位和十位是相同的,也就组不成不重复的三位数了,所以十位只有4个数字可以被组合。
十位数中可以包含0,如果给出的一组数字中包含0,百位中不能包含0,但是十位中可以包含0,因此这时百位和十位能组的数字个数就是相同的。
个位按照十位的定律,去掉十位中的最后一个,百位中的最后两个ÿ