Hirdetés
- Drasztikus változást mutat a Sony mobilja az első képeken
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Honor Magic V3 - mágikus realizmus
- One mobilszolgáltatások
- Ennyit dobott egy telefon gyártási költségén a memóriakrízis a Xiaomi szerint
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Kétezer eurós csomag lehet a Vivo X300 Ultra
-
Mobilarena

Ú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!
- Drasztikus változást mutat a Sony mobilja az első képeken
- Projektor topic
- Apple MacBook
- Robotporszívók
- Lalikiraly: Commodore The C64, Ultimate
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Jövedelem
- iPhone topik
- Renault, Dacia topik
- További aktív témák...
- 35" ASUS ROG Swift PG35VQ curved GAMER monitor
- Toshiba KIOXIA XG8 4TB M.2 Gen4 SSD (7,000 MB/s and 5,800 MB/s)
- AKCIÓ! 32GB Kingston Fury Beast RGB 6000Mhz DDR5 memória garanciával hibátlan működéssel
- Értékcsökkentett gamer alaplapok /ASUS/MSI/AM5/Számlával/
- Katonai Rugged laptopok Panasonic Toughbook 5-6. gen gar.
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


De azért persze szoktam használni.

