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
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Call of Duty: Black Ops 7
- Battlefield 6
- Mr. Beast retteg, elveszi az AI a munkát
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen okostelefont vegyek?
- Rendszergazda topic
- Vezeték nélküli fülhallgatók
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen TV-t vegyek?
- OLED monitor topic
- További aktív témák...
- Google Pixel 10 256GB - Törött kijelzőüveg - szept. 30-i vásárlás
- ACER PREDATOR ORION 3000 // CORE I5 9400 // 16GB DDR4 // GEFORCE GTX1660 SUPER 6GB // SSD+HDD
- Asus rog Zephyrus g14
- Corsair VENGANCE RGB PRO DDR4 16GB ( 2x8 kit ) 3200Mhz memória eladó.
- G.Skill TridentZ DDR4 16GB (2X8GB kit) F4-3200C16D memória párban eladó
- BESZÁMÍTÁS! ASUS TUF Z390-PRO GAMING alaplap garanciával hibátlan működéssel
- Bomba ár! HP Elitebook 840 G1 - i5-4GEN I 8GB I 180GB SSD I 14" HD+ I Cam I W10 I Garancia!
- Telefon felvásárlás! Samsung Galaxy A15, Samsung Galaxy A25, Samsung Galaxy A35, Samsung Galaxy A55
- Honor X6b 128GB, Kártyafüggetlen, 1 Év Garanciával
- 152 - Lenovo LOQ (15IRH8) - Intel Core i5-12450H, RTX 4060
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest