Hirdetés
- A Nothing történelmet emleget, közben új logót mutogat
- iPhone topik
- Poco F8 Pro – titkos favorit lehet belőle
- Apple iPhone 17 Pro Max – fennsík
- Szívós, szép és kitartó az új OnePlus óra
- Kisebb kivágás, középen kamera: így nézhet ki az iPhone 18 Pro előlapja
- Milyen okostelefont vegyek?
- Megjöttek Magyarországra a Redmi Note 15-ök, január 22-től ennyiért kaphatók
- Csíptetős dizájn, 9 órás üzemidő és nyitott kialakítás a Sony új fülesében
- Xiaomi 15T Pro - a téma nincs lezárva
-
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!
- T300rs + th8s
- Samsung Galaxy S25 Ultra 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- OnePlus Nord CE5 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC-Számítógép! Csere-Beszámítás! R7 7800X3D / 32GB DDR5 / RX 9070 / 2TB SSD!
- Gamer PC-Számítógép! Csere-Beszámítás! R5 7600X / 32GB DDR5 / RTX 4060 / 500GB SSD + 1TB HDD
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! GIGABYTE A520M R5 5500 16GB DDR4 250GB SSD 120GB SSD GTX 1060 3GB Zalman T3 Plus 400W
- Dell S3221QSA 32 4K UHD Ívelt Monitor 27% ÁFÁS
- Konzol felvásárlás!! Xbox Series S, Xbox Series X
- Eladó Apple iPhone 12 64GB / AKKU 100% / 12 hónap jótállás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


De azért persze szoktam használni.


