廢話不說了直接上代碼
//求組合數的代碼
#include "stdio.h"
int combinat[1000]={0};void Comb(int m,int k)
{
int i,j;
for (i=m;i>=k;i--)
{
combinat[k]=i;
if (k>1)
Comb(i-1,k-1);
else
{
for (j=combinat[0];j>0;j--)
printf("%d ",combinat[j]);
printf("\n");
}
}
}
void main()
{
int ;
combinat[0]=6;
Comb(12,6);
}
//求H變換的代碼
void Hadamard(int *f,int n,int mod)
{
if (n==1)
return;
for (int i=0;i<n/2;i++)
{
*(f+i)+=*(f+n/2+i);
*(f+n/2+i)=(*(f+i)-2**(f+n/2+i))/mod;
*(f+i)/=mod;
}
Hadamard(f,n/2,mod);
Hadamard(f+n/2,n/2,mod);
}