Hirdetés
- Posztapokalipszis és nosztalgia szegezett a képernyő elé
- Elbaltázott tankolás miatt csúszik a NASA Holdutazása
- Francia ügyészek razziáztak az X párizsi irodájában, Muskot is beidézték
- Elégedetlen lenne az NVIDIA AI gyorsítóinak tempójával az OpenAI?
- Leleplezte az új Xbox generáció érkezését az AMD vezére
- Telekom TV SmartBox: szolgáltatói set-top box alacsony korlátokkal
- Milyen billentyűzetet vegyek?
- Kényszerűen visszavesz az AI-ból a Windows 11-ben a Microsoft?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Gaming notebook topik
- Autós kamerák
- RAM topik
- Kormányok / autós szimulátorok topikja
- Azonnali fotós kérdések órája
-
PROHARDVER!

Új hozzászólás Aktív témák
-
Jester01
veterán
Először rendezd abc sorrendbe a beadott szót. Ez gondolom menni fog.
Utána csinálj egy tömböt amiben jelzed, ha egy betűt már felhasználtál.
Alapesetben ez legyen csupa igaz érték (true/1).
Egy másik tömbben pedig a permutált indexeket gyűjtöd, ez alapesetben egyesével nő.
Rögvest írd is ki, mert ez lesz a legelső permutáció.
A következőt pedig úgy kapod meg, hogy az utolsó karaktertől elindulsz és mindig megkeresed a következő fel nem használt betűt. Ha már nincs ilyen, akkor lépsz eggyel visszább (ha nem tudsz, akkor kész vagy). Amint találtál egyet, ismét elindulsz előre és szépen veszed az első fel nem használt betűt.
Igy valahogy:for(i = len - 1; i >= 0; i--)
{
int current = indices[ i ];
used[current] = 0;
current = findnextunused(used, current + 1, len);
if (current < len)
{
indices[ i ] = current;
break;
}
}
if (i < 0)
{
break;
}
indices[++i] = findnextunused(used, 0, len);
for(i++; i < len; i++)
{
indices[ i ] = findnextunused(used, indices[i - 1] + 1, len);
}
A findnextunused függvényem második paramétere a keresés kezdőpozíciója.
A megtalált betűt be is jelöli, hogy használatban van.
Biztos van egyszerűbb módja, mindig is utáltam a kombinatorikát
Emitter: a rekurziót is utálom
De azért persze szoktam használni.
MOD: [ i ]
[Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Linux kezdőknek
- Posztapokalipszis és nosztalgia szegezett a képernyő elé
- Francia ügyészek razziáztak az X párizsi irodájában, Muskot is beidézték
- Opel topik
- PlayStation 5
- Megtartotta Európában a 7500 mAh-t az Oppo
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Kerékpárosok, bringások ide!
- Steam topic
- Telekom TV SmartBox: szolgáltatói set-top box alacsony korlátokkal
- További aktív témák...
- LG 77C4 - 77" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - 1000 Nits
- AZONNAL KÉSZLETRŐL! Intel Core i5 14600K 32GB 6000MHz RAM 1TB Gen4 SSD RTX 5060 8GB FSP 750W
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Bomba ár! Lenovo ThinkPad L13 Yoga G1i - i5-10G I 16GB I 256SSD I 13,3" FHD I Cam I W11 I Gari!
- LG OLED & OLED evo Televíziók -30%
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest


De azért persze szoktam használni.


