C语言有一点排列组合的问题,希望能得到大佬的帮助
本帖最后由 不想起名字a 于 2022-11-24 22:26 编辑#include<stdio.h>
int qucong(int a[],int n)
{
int i,j,k,m;
for(i=0;i<n;i+=1)
{
for(j=i+1,k=i+1,m=0;j<n;j+=1,k+=1)
{
if(a==a)k+=1,m+=1;
a=a;
}
n-=m;
}
return n;
}
int m,b,c=0;
int pailie(int a[],int n)
{
if(0==n)
{
for(int i=0;i<m;i+=1)printf("%d ",a-1]);
c+=1;
printf("\n");
}
else for(int i=0;i<m;i+=1)
{
int j=0;
for(;j<m;j+=1)if(i==b-1)break;
if(j==m)
{
b=i+1;
pailie(a,n-1);
b=-1;
}
}
return c;
}
int main()
{
int a[]={0,0,-1,1,1};
m=qucong(a,sizeof(a)/sizeof(int));
pailie(a,m);
return 0;
}
//这个是去重复后排列组合所输出的值,可能会有些帮助(昨天求助到的) 已解决
页:
[1]