问一道排列组合题 一组数据 随机选四个数组成四元组,请问总共有多少个偶排列,数组例如(±1.6,±1,±0.6,0) 七选四
3条回答
- 丵鹰 2015-07-03 08:01关注
840-------偶排列数:420
程序
public class test {
static void f(double[] a,int n,String v){ if(n==a.length){ System.out.println(v); }else{ f(a,n+1,v+","+a[n]); } } static int nxs(double[] arr1){ int a=0; for (int i = 0; i < arr1.length; i++) { for (int j = i+1; j < arr1.length-1; j++) { if(arr1[i]>arr1[j]){ a+=1; } } } return a; } static void printf(){ double[] arr = { 1.6, 1, 0.6, 0, -0.6, -1, -1.6 }; int a=0; int b=0; for(int i=0;i<7;i++){ for(int j=0;j<7;j++){ for(int m=0;m<7;m++){ for(int n=0;n<7;n++){ if(i!=j && i!=m && i!=n && j!=m && j!=n && m!=n){ System.out.printf(arr[i]+"---"+arr[j]+"---"+arr[m]+"---"+arr[n]+"---"+"\n"+i+"---"+j+"---"+m+"---"+n+"---"+"\n"); ++a; double[] arr1=new double[4]; arr1[0]=arr[i]; arr1[1]=arr[j]; arr1[2]=arr[m]; arr1[3]=arr[n]; int nxs=nxs(arr1); if(nxs%2==0){ ++b; } } } } } } System.out.println(a+"-------"+"偶排列数:"+b); } public static void main(String[] args) { printf(); }
}
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 python的qt5界面
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100