和的排列是无序的,也就是说不知道对于某一个和,是由哪两个数加起来的。
数据范围
2<n<10
两个数的和<100000
求非暴力解法
K君,显然只给你a[x]与a[x+1]的和的话整个题会变简单,这样的话这就是一个纯数学题而不是一个“应用数学”题了orz
还有OS,两两之间的和就用两个相邻的数,x和x+1
解出来貌似是个4102取值范围
有几个重复的数字就除以几的阶乘
比如求1、2、2组成的不同3位数的个数 =3!/2! =(1×zhi2×3)/(1×2) =3
再比如求1、1、1、2、3组成的不同5位数的个数 =5!/3! =(1×2×3×4×5)/(1×2×3) =4×5 =20
如果只是有2个数字重复,就直接在排列数的基础上除以。
扩展资料:
组合的定义:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号 C(n,m) 表示。
其他排列与组合公式 从n个元素中取出m个元素的循环排列数=A(n,m)/m=n!/m(n-m)!. n个元素被分成k类,每类的个数分别是n1,n2,...nk这n个元素的全排列数为 n!/(n1!×n2!×...×nk!). k类元素,每类的个数无限,从中取出m个元素的组合数为C(m+k-1,m)。
参考资料来源:百度百科-排列组合