Cod sursa(job #1134326)

Utilizator pitbull007Hurmuzache Ciprian pitbull007 Data 6 martie 2014 13:26:43
Problema Generare de permutari Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>
#include <stdlib.h>
/*
Sa se genereze toate permutarile valide pana la un numar n dat.

*/
int c[1000];
int n;

void afisare() {
    int i;
    for(i=1;i<=n;i++)
        printf("%d",c[i]);
    printf("\n");
}

int conditie(int k) {
    int i;
    for(i=1;i<k;i++) {
        if(c[k] == c[i])
            return 0;
    }
    return 1;
}

void generare(int k) {
    if(k==n+1)
        afisare();
    else {
        int j;
        for(j=1;j<=n;j++) {
            c[k]=j;
            if(conditie(k))
                generare(k+1);
        }
    }
}

int main() {

    printf("Introduceti o valoare pt n:");
    scanf("%d",&n);
    generare(1);
    return 0;
}