PTA——软件梦工厂纳新测试——7-3 排列组合

7-3 CillyB的简单的送分题~(20 分)

众所周知,CillyB是一个学习每次年级前十,算法又无敌的人,他现在学习的学的累了,所以想做一个思维题放松下(对就是做思维题放松),他随便找了n个非0的个位数字,用其中任意3个数字都可以组合成1个3位的数字(但是三个位数上的数字不能相同)。要求所有可能组合出来的3位数字的和。例如给定2、5、8,则可以组合出:258、285、528、582、825、852,它们的和为3300。

输入格式:

输入在一行中先给出N(3

输出格式:

输出所有可能组合出来的3位数字的和,并且独占一行。

输入样例:

3 2 5 8

输出样例:

3330

这个题的难点主要在n个数字任意3个数字组合,这要求不能是重复的3个数字,所以说这就需要高中学的排列组合,拿出不重复的三位数字。

方法一:

三位数字就是从输入的书中依次挑,第一次挑:第一个第二个第三个,第二次挑:第一个第二个第四个,这样下去,主键第二位变成了第三个:第一个第三个第四个,这样安顺序一直挑下去就不会重复。

三位数字要组成3位数有6中组合方法,把每种组合方式都写出来求和就得到了这个三位数组合的和,然后在去其他三位数的和。

方法二:     第二种方法是根本不挑三位数,只要将用三个for循环,并在第三个for循环里计算从外向里依次是百位十位个位的数值,在这之前需要判断不能重复,这样下去虽然不是挑出三个三个的来组合,但是利用for循环仍然可以不漏的把各种情况都算进去。

来源:小白~

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年5月8日
下一篇 2018年5月8日

相关推荐