learn deep learning 2015-07-03 05:37 采纳率: 100%
浏览 2264
已采纳

问一道排列组合题 一组数据 随机选四个数组成四元组,请问总共有多少个偶排列,

问一道排列组合题 一组数据 随机选四个数组成四元组,请问总共有多少个偶排列,数组例如(±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();
    }
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿