Pagini recente » Cod sursa (job #2296855) | Cod sursa (job #2908910) | Cod sursa (job #1867903) | Cod sursa (job #236660) | Cod sursa (job #1018561)
#include <stdio.h>
int x[100],n,p;
int valid(int );
void afisare();
FILE *f=fopen("combinari.in","r"),*g=fopen("combinari.out","w");
int main()
{
int k=1,g;
fscanf(f,"%d%d",&n,&p);
x[k]=0;
while(k>0)
{
g=0;
while((g==0) && (x[k]<n-p+k))
{
x[k]++;
if(valid(k)==1)
g=1;
}
if(g==1)
if(k==p)
afisare();
else
{
k++;
x[k]=0;
}
else
k--;}
}
int valid(int k)
{
int i,ok=1;
for(i=1;i<k;i++)
if(x[k]<=x[i])
ok=0;
return ok;
}
void afisare()
{
int i;
for(i=1;i<=p;i++)
fprintf(g,"%d ",x[i]);
fprintf(g,"\n");
}