Pagini recente » Cod sursa (job #1090094) | Cod sursa (job #3290435) | Cod sursa (job #2138653) | Cod sursa (job #614628) | Cod sursa (job #187178)
Cod sursa(job #187178)
//#include <time.h>
#include <stdio.h>
int n,st[10];
void afisare(){
int i;
for(i=1;i<=n;i++)printf("%d ",st[i]);
printf("\n");
}
int a_mai_fost(int nr, int limita){
int i;
for(i=1;i<=limita;i++)if(st[i]==nr)return 1;
return 0;
}
int main(){
int loc,i;
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
loc=n;
for(i=1;i<=n;i++)st[i]=i;
afisare();
while(loc>0){
st[loc]++;
if(st[loc]>n)loc--;
else{
if(loc==n)
{if(!a_mai_fost(st[loc],loc-1))afisare();
}else{i=1;
while((a_mai_fost(st[loc],loc-1))&&(i<=n))i++;
if(i<=n){loc++;st[loc]=0;}
}
}
}
return 0;
}