Pagini recente » Cod sursa (job #159485) | Cod sursa (job #3273014) | Cod sursa (job #2593838) | Cod sursa (job #2051199) | Cod sursa (job #1019620)
#include <stdio.h>
#include <math.h>
int st[100],l[100],k,i,j,n,as,ev,nr=0,m;
FILE *g=fopen("combinari.out","w");
void init(void)
{
st[k]=0;
}
void succesor(void)
{
as=1;
if (st[k]<n) st[k]++;
else as=0;
}
void valid(void)
{
ev=1;
for (i=1;i<=k-1;i++)
if (st[i]>=st[k])
ev=0;
}
void tipar(void)
{int i;
for(i=1;i<=m;i++)
fprintf(g,"%d ",st[i]);
fprintf(g,"\n");
}
int solutie(void)
{
return(k==m);
}
int main()
{
// clrscr();
FILE *f=fopen("combinari.in","r");
fscanf(f,"%d",&n);
fscanf(f,"%d",&m);
k=1;
init();
while(k>0) {
do
{
succesor();
if (as)
valid();
}
while ((as) && (!as || !ev));
if (as)
if (solutie()) tipar();
else {
k++;
init();}
else k--;}
return 0;
}