Pagini recente » Cod sursa (job #1736949) | Cod sursa (job #1448828) | Cod sursa (job #2077685) | Cod sursa (job #1553477) | Cod sursa (job #437588)
Cod sursa(job #437588)
#include <stdio.h>
int st[100];
int n, i, j;
int p, k, AS;
void Init ()
{
if (k > 1)
st[k] = st[k-1];
else
st[k] = 0;
}
int Am_Succesor ()
{
if (st[k] < n - p + k)
{
st[k] ++;
return 1;
}
return 0;
}
int E_Valid ()
{
return 1;
}
int Solutie ()
{
if (p == k)
return 1;
return 0;
}
int main()
{
FILE *f = fopen ("combinari.in","r");
FILE *g = fopen ("combinari.out","w");
fscanf (f,"%d %d", &n, &p);
k = 1;
Init ();
while (k > 0)
{
do
{ }
while ( (AS = Am_Succesor () ) && !E_Valid () );
if (AS)
if (Solutie () )
{
for (i=1; i<=p; ++i)
fprintf (g,"%d ", st[i]);
fprintf (g,"\n");
}
else
{
k ++;
Init ();
}
else
k --;
}
fclose(g);
fclose(f);
return 0;
}