- Fejhallgató erősítő és DAC topik
- iPad topik
- Melyik tápegységet vegyem?
- Milyen cserélhető objektíves gépet?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- VR topik (Oculus Rift, stb.)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- AMD Navi Radeon™ RX 7xxx sorozat
- CPU léghűtés kibeszélő
Ú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!
- PlayStation Portal 2026.12.03-ig gyári garanciával eladó!
- ASRock B560 Steel Legend + i5 11500 + ID-Cooling + 16 Gb Corsair Vengeance RGB Beszámitok!
- Samsung Galaxy A26 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 14 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 12 128GB, Kártyafüggetlen, 1 Év Garanciával
- 15,6" Dell Latitude laptopok: E6540, E5550, E5570, 5580, 5590, 5500, 5501, 5510/ SZÁMLA + GARANCIA
- HP ZBook Firefly 14 i7-1165G7 16GB 512GB 14" FHD magyarbill 1 év garancia
- Önerő nélkül is. Részletfizetés. Bankmentes. Dell Latitude Intel Core Ultra7 165U 16GB DDR5 1TB SSD
- Samsung Galaxy S23 Ultra 256GB Kártyafüggetlen 1Év Garanciával
- Samsung Galaxy S24 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: FOTC
Város: Budapest