- Milyen okostelefont vegyek?
- iPhone topik
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Honor Magic5 Pro - kamerák bűvöletében
- Xiaomi 13 - felnőni nehéz
- Apple Watch Ultra - első nekifutás
- Honor Magic V5 - méret a kamera mögött
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- MIUI / HyperOS topik
Hirdetés
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
loopati #2235 üzenetére
Kérdés, hogy az egyszerűséget kinek a szemszögéből nézzük. A legegyszerűbb naív algoritmus az, ha végigmész a string karakterein, és egy mapet töltesz fel vele - a karakter a kulcs, a hozzá tartozó érték meg az előfordulások száma, amit eggyel növelgetsz. Ha végére értél a szövegnek, minden kellő infő ott lesz.
Meh, lassú voltam
-
WonderCSabo
félisten
válasz
loopati #2235 üzenetére
Csinálsz egy map -et aminek a kulcsai karakterek, értékei pedig egész számok. Végigmész for ciklussal a stringeden karakterenként, és a map [] operátorát használva megnöveled az adott karakter-hez tartozó számot 1-el.
Miután végzett a for ciklus, a map tartalmazni fogja, hogy melyik karakter hányszor szerepelt a string-ben. -
mgoogyi
senior tag
-
Jester01
veterán
válasz
loopati #2228 üzenetére
A logaritmus elég időigényes dolog, egy osztásos ciklussal szerintem jobban jársz, de ahogy gondolod.
Tizedesvessző után nem lesz szám ha egészekkel operálszEz például megadja a 3 legmagasabb helyiértékű számjegyet:
while(x > 999) x /= 10;
Ezután ha szükséges akkor az egyes számjegyeket további osztásokkal már egyszerű kinyerni.
-
Karma
félisten
válasz
loopati #2228 üzenetére
Ha az utolsó számjegy kell, ne adj hozzá egyet. Ha két számjegy kell, vonj ki egyet belőle. Az egyszerűség kedvéért legyen ez a kapott szám X.
Emeld a 10-et az X-edik hatványra, aztán csinálj egy egész osztást az eredeti számból. Az eredmény így a felső egy (vagy kettő) számjegy lesz.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Eladó GAMER Konfig Ryzen 7 5700X 32GB DDR4 1TB SSD RTX3070 8GB!
- Ryzen 5 PC //Ryzen 5 5600X -- B550 -- 16GB 3200MHz -- RTX 2060 6GB // CSERE IS!
- Synology DS118 Seagate Iron Wolf (14TB)
- PlayStation 5 (PS5.) SLIM 1TB. (VAGY 2TB.) SSD. Digital Edition Kiváló Esztétikai állapot.
- Teljesen új 6,4TB Samsung SSD-k
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- Gamer Notebook! Csere-Beszámítás! Asus Tuf F15 FX506H / 11400H / RTX 3050 / 16GB DDR4 / 512 SSD
- Akció! Paidashu 10600MAH / 20700MAH Powerbank olcsón!
- HP ZBook Studio 8 WorkStation i7-11850H 16GB 512GB Nvidia Quadro T1200 15.6" FHD IPS 1 év garancia
- Xiaomi Redmi Note 13 Pro 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: FOTC
Város: Budapest