Avatar billede jps6kb Novice
17. august 2005 - 10:03 Der er 4 kommentarer og
1 løsning

Algoritme til mulige ord

Hej,

Jeg sidder lidt fast.. kan ikke komme i gang med at lave en algoritme, som udskriver alle mulige sammensætninger af bogstaver fra et bestemt ord.

Hvordan kan man gøre det?

Altså ex. ord : hejsa...

h, he, hej, hejs, hejsa, heh, hehj...
Avatar billede arne_v Ekspert
17. august 2005 - 10:05 #1
må et bogstav godt bruges flere gange ?
Avatar billede jps6kb Novice
17. august 2005 - 10:06 #2
Nej, kun en gang :) Min fejl.. ;)
Avatar billede arne_v Ekspert
17. august 2005 - 10:11 #3
forslag:

package august;

public class Perm {
    public static void writePerm(char[] a, int len, String prefix, int ix, boolean[] used) {
        if(ix < len) {
            for(int i = 0; i < a.length; i++) {
                if(!used[i]) {
                    used[i] = true;
                    writePerm(a, len, prefix + a[i], ix + 1, used);
                    used[i] = false;
                }
            }
        } else {
            System.out.println(prefix);
        }
    }
    public static void writePerm(char[] a) {
        boolean[] used = new boolean[a.length];
        for(int i = 1; i <= a.length; i++) {
            writePerm(a, i, "", 0, used);
        }
    }
    public static void main(String[] args) {
        char[] a = { 'a', 'b', 'c', 'd' };
        writePerm(a);
    }
}
Avatar billede jps6kb Novice
17. august 2005 - 10:19 #4
Det er bare flot.. jeg siger mange tak for den hurtige respons.. smider du et svar?
Avatar billede arne_v Ekspert
17. august 2005 - 10:23 #5
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester