第60讲:Python编程案例之不重复的三位数

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,因此这时百位和十位能组的数字个数就是相同的。

个位按照十位的定律,去掉十位中的最后一个,百位中的最后两个ÿ

猜你喜欢

转载自blog.csdn.net/weixin_44953658/article/details/131299959