Gå til innhold

Anbefalte innlegg

Hvordan går jeg fram for å lage et program som genererer tekst stringer ved å kombinere en serie med forskjellige tegn i forskjellige lengder? Altså ikke tilfeldig, begynner f.eks. på a-z, så aa-az, ba-bz osv... Må jeg lage en løkke for hvert tegn? (dvs. 5 løkker for en string som er 5 tegn lang)

Lenke til kommentar
Videoannonse
Annonse

Du må skrive deg ein rekursiv funksjon, dvs. ein funksjon som kallar seg sjølv. Kvar funksjon legg til ein bokstav til ein string, og legg den til i ei liste. Funksjonen må og sjekke at stringen ikkje har vorte lenger enn den gitte grensa, og den vil då slutte å kalle seg sjølv. :)

Lenke til kommentar

26^5 = 11 881 367

26^6 = 308 915 776

 

Det er vel unødvendig å si at en slik algoritme ikke er noe særlig brukbar med mindre du har veldig god tid, du bør legge inn gode avskæringsmuligheter. (26^N er ikke akkurat forlokkende)

 

Jeg startet en slik algoritme når jeg begynte å skrive denne posten, og den byttet akkurat til b****.

 

Du bør også prøve å skrive den iterativt hvis du vil ha den så rask så mulig, rekursiv kode har en del overhead forbundet med mange gjentatte prosedyrekall som blir ganske betydelig når vi snakker om så mange iterasjoner som her.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...