Forum » Programiranje » izpis naslednika podanega števila ...
izpis naslednika podanega števila ...
lebdim ::
lep pozdrav,
na tem URL naslovu za začetek poskušam izpisovat naslednika podanega števila. v podnalogcah Test okolja so res čisto osnovne naloge. Vendar njihov testirnik programa preverja vse do števila 10100. Poskusil sem narediti v pascalu, vendar mi javi napako, ker sem uporabil tip QWord. Osnovna ideja je čisto preprosta: s standardnega vhoda preberem število in potem izpišem njegovega naslednika. Zanima pa me, kateri tip števil v Pascalu obsega to velikost števil? Ali je mogoče bolje, da uporabim število tipa string, in ga potem pretvorim v število in izpišem naslednika?
lep pozdrav, lebdim
na tem URL naslovu za začetek poskušam izpisovat naslednika podanega števila. v podnalogcah Test okolja so res čisto osnovne naloge. Vendar njihov testirnik programa preverja vse do števila 10100. Poskusil sem narediti v pascalu, vendar mi javi napako, ker sem uporabil tip QWord. Osnovna ideja je čisto preprosta: s standardnega vhoda preberem število in potem izpišem njegovega naslednika. Zanima pa me, kateri tip števil v Pascalu obsega to velikost števil? Ali je mogoče bolje, da uporabim število tipa string, in ga potem pretvorim v število in izpišem naslednika?
lep pozdrav, lebdim
jype ::
Bolje je, če uporabiš Python, ki ima vgrajena Arbitrary-precision arithmetic @ Wikipedia cela števila.
Zgodovina sprememb…
- spremenilo: jype ()
GupeM ::
Ne poznam pascala, vendar števila v velikosti 10^100 ne boš spravil v noben tip. Najlažje ga je spraviti v string, pogledati zadnjo cifro in
če je manjša od 9 jo enostavno povečaš za ena in izpišeš. Če je enaka 9 pa jo spremeniš na nič in pogledaš predhodno cifro.
Če je manjša od 9 jo enostavno povečaš za ena in izpišeš. Če je enaka 9 pa jo spremeniš na nič in pogledaš predhodno cifro.
Če je manjša od...
...
...
Dokler ne prideš do prve cifre. Če je ta manjša od 9 jo enostavno povečaš za ena, če je enaka 9, jo spremeniš na nič, pred njo pa postaviš enko (1) in imaš naslednjika.
Če pa bi uporabil kakšen višjenivojski jezik (Java) pa mogoče celo obstaja kakšen class ki podpira tako velike številke (BigInteger, BigDecimal?).
če je manjša od 9 jo enostavno povečaš za ena in izpišeš. Če je enaka 9 pa jo spremeniš na nič in pogledaš predhodno cifro.
Če je manjša od 9 jo enostavno povečaš za ena in izpišeš. Če je enaka 9 pa jo spremeniš na nič in pogledaš predhodno cifro.
Če je manjša od...
...
...
Dokler ne prideš do prve cifre. Če je ta manjša od 9 jo enostavno povečaš za ena, če je enaka 9, jo spremeniš na nič, pred njo pa postaviš enko (1) in imaš naslednjika.
Če pa bi uporabil kakšen višjenivojski jezik (Java) pa mogoče celo obstaja kakšen class ki podpira tako velike številke (BigInteger, BigDecimal?).
Zgodovina sprememb…
- spremenil: GupeM ()
Spura ::
Ne poznam pascala, vendar števila v velikosti 10^100 ne boš spravil v noben tipPrakticno vsak sodoben jezik ima arbitrary precision integerje out of the box.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C++] NalogeOddelek: Programiranje | 4044 (2375) | LordiBoy |
» | [C++]Polje neznane velikostOddelek: Programiranje | 1084 (977) | Senitel |
» | [Python] Deljenje stevila v obliko xE+yOddelek: Programiranje | 1608 (1396) | Jean-Paul |
» | Številski sestaviOddelek: Šola | 3791 (3637) | Gr0unD Zer0 |
» | sortiranje neznano dolge datoteke v pascaluOddelek: Programiranje | 1045 (960) | mmisv |