Python解题

t题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析 遍历全部可能,把有重复的剃掉。

这道题的解法很简单,可以用暴力枚举的方法。具体步骤如下:

  1. 从1、2、3、4中选出第一个数字,共有4种选法;
  2. 从剩下的数字中选出第二个数字,共有3种选法;
  3. 从剩下的数字中选出第三个数字,共有2种选法;
  4. 将选出的3个数字组合起来,共有4×3×2=24种组合方式。

但是,由于题目要求互不相同且无重复数字的三位数,因此需要在组合的过程中去掉重复的数字,如123、231、312这样的组合都只算一种。因此,在第二步和第三步中,选出的数字要与之前已经选过的数字进行比较,如果有相同的,则跳过本次循环。

最终,得到的结果是24个互不相同且无重复数字的三位数,分别为:

123、124、132、134、143、142、213、214、231、234、243、241、312、314、321、324、342、341、423、421、432、431、413、412。

以下是一个Python程序,实现了上述的算法:
 

程序输出:

ljchen

这个作者特别懒,什么都没有说。

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐