Pagini recente » Cod sursa (job #3133801) | Borderou de evaluare (job #307614) | Borderou de evaluare (job #1295424) | Cod sursa (job #2239903) | Cod sursa (job #414127)
Cod sursa(job #414127)
#include <cstdio>
int x[19],N,K;
void afis()
{
for(int i=1;i<K;i++)
for(int j=i+1;j<=K;j++)
if(x[i]>=x[j])
return;
for(int i=1;i<=K;i++)
printf("%d ", x[i]);
printf("\n");
}
int main()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&N,&K);
int a,i,acceptat,urmatorul;
a=1;
x[a]=0;
while(a>0)
{
do
{
if(x[a]<N)
{
x[a]++;
acceptat=1;
urmatorul=1;
for(i=1;i<a;i++)
if(x[a]<=x[i])
acceptat=0;
}
else
urmatorul=0;
} while (urmatorul && !acceptat);
if(urmatorul)
if(a==K)
afis();
else
{
x[a+1]=x[a];
a++;
}
else
a--;
}
return 0;
}