Ezt hogy kell megcsinálni?
Figyelt kérdés
Az a feladat hogy kap a függvényem egy N számot és ki kell írnom növekvő sorrendben 1-től N-ig az összes olyan számot aminek a szomszédos számjegyei között pontosan 1 a különbség.
Pl. ha N = 50-et kapok akkor ezt kell kiírnom:
1 2 3 4 5 6 7 8 9 10 12 21 23 32 34 43 45
N értéke maximum 10^9 lehet.
Úgy csináltam hogy egy ciklusban végigmegyek 1-től N-ig a számokon, stringgé alakítom, végigmegyek a számjegyeken és megnézem hogy 1-e a különbség az előzőhőz képest.
Ez kis számokra működik is de nagy N-re nagyon sokáig fut.
Hogy kéne rendesen megcsinálni?
2021. okt. 26. 09:21
11/17 anonim válasza:
Előtted írta, hogy már kapott megoldást. Illetve ezen mi nem triviális? Le kell generálni ezeket a számokat növekvő sorrendben. Ahogy #4 írta, egyszerű bfs, kb 15 sor.
12/17 anonim válasza:
#11: értem, értem, a kérdezö megkapta a választ. De szeretem az ilyen fejtöröket, általában többféle képpen is meg lehet oldani. Szeretnék vele szórakozni egy fél órát, ha megengeded. Azt gyanítom, hogy valami generatív nyelvtannal is meg lehet oldani.
13/17 anonim válasza:
Kipróbáltam, bfs C++-ban nálam 0-1 ms alatt fut 10^9 N-re.
14/17 anonim válasza:
#11 ide jellemzoen altalanos/kozepiskolas gyerekek irnak, akik most tanulnak programozni, nekik azert meg nem trivialis egy BFS.
15/17 anonim válasza:
16/17 anonim válasza:
"gyengébbek kedvéért"
Már bocs, de ki kért segítséget? Szerintem nem mi. Szóval egy kicsit több alázatot, ha lehet kérni.
17/17 anonim válasza:
Hat azert aki ertelmezni sem tudja ezt az egyszeru feladatot, az valoban nem a legelesebb kes a fiokban.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!