利用杨辉三角求组合代码

来源:互联网 发布:一淘登录用淘宝账号吗 编辑:程序博客网 时间:2024/06/10 06:32

//在数据类型内运算可以求得正确结果,代码有冗余,由三角矩阵的两列可以得出全部组合数列,暂时先用这种笨拙的方法


#include <iostream>

using namespace std;

int main(int argc, char* argv)
{
    long long M,N,K;
long long i,j;
    
    cin >> M;
    cin >> N;
    cin >> K;
if( M-N < N)
N = M-N;

int temp=1;
while(K--)
temp*=10;
int** m = new int*[M+1];
for(i = 1 ; i <= M; i++)
{
m[i] = new int[N+1];
m[i][0] = 1;
}
for (i = 1; i <= N; i++)
m[i][i] = 1;
    
for(i = 2; i <= M; i ++)
for(j = 1; j < (i <= N ? i:N+1) ;j++)
{
m[i][j] = (m[i-1][j-1] + m[i-1][j])%temp;
}

cout << m[M][N];
cin >> i;


}
0 0
原创粉丝点击