formel zum ermitteln der n-ten permutation



  • danach suche ich schon lange, hab aber noch nichts gefunden (ja, forumssuche benutzt).

    also:
    ich brauche eine formel oder eine fertige funktion (vorzugsweise java,c++ geht aber auch), welche mir die n-te permutation einer lexikographisch geordneten startpermutation ausgibt. in der permutation können mehrfach dieselben elemente vorkommen.

    mit der c++ stl-funktion "next_permutation" bekomme ich ja leider immer nur die nächste, und wenn ich von der startpermutation beginnend z.b. die 1.000.000.000ste nachfolgepermutation haben will, braucht er zu lang dafür.

    kennt jemand eine formel, in der ich die startpermutation angebe, und als 2. parameter z.b. 3456 und ich dann die 3456ste permutation erhalte?

    z.b. so:

    startpermutation:
    012233344445567

    gesucht, die 1.000.000.000 ste permutation:
    362102434537445


Anmelden zum Antworten