Hirdetés
- iOS alkalmazások
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Hazai akkumulátorrekordra pályázik a OnePlus 15R
- Telekom mobilszolgáltatások
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- Elindult a One UI 8.5 béta program
- Redmi Note 14 5G - jól sikerült az alapmodell
- Vivo X200 Pro - a kétszázát!
- Jolla és SailfishOS tapasztalatcsere
- iPhone topik
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
Tangerine
#1266
üzenetére
a legkézenfekvőbb, nem túl elegáns viszont újrafelhasználható kódot produkáló elgondolás:
a számrendszerek közötti átváltáshoz összeadásra és szorzásra van szükség. a szorzás visszavezethető összeadásra és számjeggyel való szorzásra.
először is: ajánlom, hogy tömb helyett string-ben tárold a hosszú számaidat, ott ugyanis a string[ 0 ] jelöli a hosszát, könnyebben tudsz számolni vele. (ha jól emlékszem, tömbnél nincs ilyen)
tehát ami kell:
- függvény ami megszoroz egy számot egy számjeggyel. a szám természetesen string/tömb, ezért számjegyenként kell megszorozni, tárolva azt a számjegyet, amit átviszünk.
- függvény ami összead két nagy számot - szintén számjegyenként, tárolva a számjegyet amit átviszünk. ügyelni kell arra, hogy ugyanolyan hosszúak legyenek, tehát a rövidebben ki kell egészíteni balról 0 számjegyekkel.
- függvény ami hozzáilleszt néhány nullát egy nagy számhoz (átírja a string hosszát, 0-kat pakol a végére) - ez a szorzáshoz kell.
a szorzás pl. valami hasonló lesz (ez nem feltétlenül helyes pascal kód, inkább csak szemléltetés)
a, b, eredmeny:nagyszam;
eredmeny:=''0'';
for pos:=length(b) downto 1 do
begin
eredmeny:=osszead(hozzair(szamj_szoroz(a,b[ pos ])),length(b)-pos);
end;
pos jelöli, b végétől számítva hanyadik számjegynél tartunk
vagyis megszorozzuk a-t b aktuális, pos által jelölt számjegyével, az eredményhez jobbról hozzáírunk annyi nullát, ahányadik karakternél tartunk éppen (length(b)-pos) és az egészet hozzáadjuk az eredményhez (ami ugye kezdetben nulla).
a többi függvény megírása ennél egyszerűbb szerintem, azt rád bízom.
Új hozzászólás Aktív témák
- Bluetooth hangszórók
- Gyúrósok ide!
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Milyen monitort vegyek?
- Kormányok / autós szimulátorok topikja
- Luck Dragon: Asszociációs játék. :)
- Milyen széket vegyek?
- Milyen videókártyát?
- Durván kitömte memóriával két új Radeonját az AMD
- További aktív témák...
- Xiaomi Mi Robot Vacuum-Mop Essential robotporszívó eladó
- RAPOO 7100P 1000DPI optikai rádiós 5GHz egér
- DELL Precision 7810 PC (Intel Xeon 8X3500 Mhz, 16 GB DDR4, 256 GB SSD+500GB HDD, Quadro M2000 4 GB)
- Lenovo ThinkCentre M720q Tiny PC (Intel i5 9500T 6 X 3700Mhz, 16 GB DDR4, 256 GB SSD)
- Vivo X200 Ultra újszerű tokok
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- REFURBISHED és ÚJ - DELL Thunderbolt Dock WD22TB4 (210-BDTD)
- HIBÁTLAN iPhone 15 128GB Pink-1 ÉV GARANCIA - Kártyafüggetlen, MS4113
- Apple iPhone 14 128GB,Újszerű,Dobozával,12 hónap garanciával
- Asus TUF Gaming F15 FX507 - 15,6"FHD 144Hz - i5-12500H - 8GB - 512GB SSD - RTX 3050 - 1 év garancia
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


