Kombinacje małych i dużych liter w słowie

0

Witam,

Czy mógłby mi ktoś objaśnić jak powinien wyglądać algorytm, który np. dla słowa "programowanie" wypisze wszystkie możliwe kombinacje małych i dużych liter, czyli: ProGraMowanie, pRogramoWaniE, PRogRAMowanie itd. ?

Implementacją zajmę się już sam, ale nie bardzo wiem jak opracować taki algorytm.

0

każda litera =jeden bit, wartość bitu oznacza wielkość litery. No i pętla po kolejnych wartościach liczby od 0 aż do wartości 2^ilość_liter-1.

0

Można też rekurencyjnie, dużo mniej wydajnie:

Funkcja:

zamiana(ktoraLitera, dlugosc, napis) {
  if (ktoraLitera >= dlugosc) {
    print(napis);
  }
  zamiana(ktoraLitera + 1, dlugosc, napis);
  zamienWielkosc(napis[ktoraLitera]);
  zamiana(ktoraLitera + 1, dlugosc, napis);
  // zamienWielkosc(napis[ktoraLitera]);
}

Wywołanie:

zamiana(0, napis.length, napis);

1 użytkowników online, w tym zalogowanych: 0, gości: 1