• 行列式计算



    #include    <iostream>
    #include    <algorithm>
    #include    <cstdio>
    
    using namespace std;
    
    int main()
    {
        int n=0;
        int a[50]= {0};
        int b[50][50]= {0};
        int sum =0,x;
        cout<< "					行列式计算
    请输入阶数:";
        cin >> n;
        cout<<"请输入整个行列式
    ";
        for(int i=0; i< n; i++)
        {
            a[i] = i+1;
            for(int j =0 ; j< n; j++)
                cin >> b[i][j];
        }
        cout<<"counting...
    ";
        do
        {
            x=1;
            for(int i=0 ; i< n; i++)
            {
                x*=b[i][a[i]-1];
            }
            int flog=0;
            for(int i =0; i< n ; i++)   //计算逆序数
            {
                for(int j =i ; j<n ; j++)
                    if(a[i]>a[j])
                        flog++;
            }
            if(flog&1)                  //奇数和1按位于等于1
            {
                sum-=x;
            }
            else
            {
                sum+=x;
            }
        }while(next_permutation(a,a+n));
        printf("此行列式结果为:%d
    ",sum);
        return 0;
    }
    


  • 相关阅读:
    spring-boot快速搭建解析
    springmvc处理ajax跨域
    Spring-AOP解析
    springmvc注解
    springmvc源码分析
    Spring源码分析
    JAVA性能优化
    数据取舍
    命令行控制
    Junit常用操作
  • 原文地址:https://www.cnblogs.com/chinashenkai/p/9451406.html
Copyright © 2020-2023  润新知