Positsioonilised arvusüsteemid | 프로그래밍의 벗 PivotOJ
PivotOJ

Positsioonilised arvusüsteemid

시간 제한: 1000ms메모리 제한: 1024MB출처: EIO 2016-17 finalBOJ 7136

문제

Me oleme harjunud kirjutama arve kümnendsüsteemis. Kui me kirjutame "123", siis tegelikult tähistab see avaldist 1102+210+31 \cdot 10^2 + 2 \cdot 10 + 3.

Vahel kasutame ka kahendsüsteemi. Arvu 123123 esitus kahendsüsteemis on "1111011", mis tähistab avaldist 126+125+124+123+022+12+11 \cdot 2^6 + 1 \cdot 2^5 + 1 \cdot 2^4 + 1 \cdot 2^3 + 0 \cdot 2^2 + 1 \cdot 2 + 1.

Positsioonilise arvusüsteemi alus ei pea tingimata olema naturaalarv. Arvu 123123 võime kirjutada ka alusel 10-10. Siis on selle esitus "283", mis tähistab avaldist 2(10)2+8(10)+32 \cdot (-10)^2 + 8 \cdot (-10) + 3.

Arvusüsteemi alus ei pea olema isegi täisarv. Arvu 123123 võime esitada ka alusel 2,52{,}5. Siis on tulemus "22122,02012122\ldots" (kus murdosa jätkub paremale poole lõpmatuseni). Sama arvu esitus alusel 2,5-2{,}5 on "1102102,10102\ldots". Arvu 2,52{,}5 enda esitus alusel 2,52{,}5 on muidugi "10". Arvu 2,52{,}5 esitus alusel 2,5-2{,}5 on, võib-olla natuke ootamatult, "121,021011\ldots".

Mõeldavad on ka arvusüsteemid, mille alus on väiksem kui 11. Sellistes süsteemides on esitused tavapärasega võrreldes peegelpildis ja neis võib olla lõpmatu arv numbreid enne koma. Näiteks arvu 123123 esitus alusel 0,10{,}1 on "3,21", mis tähistab avaldist 3+20,11+10,123 + 2 \cdot 0{,}1^{-1} + 1 \cdot 0{,}1^{-2}, ja arvu 1/31 / 3 esitus "\ldots3333330,0".

Kirjutada programm, mis saab ratsionaalarvud RR ja BB ning väljastab arvu RR esituse alusel BB.

입력

Tekstifaili esimesel real on mittenegatiivse arvu RR esitus kümnendsüsteemis, enne ja pärast koma kokku maksimaalselt 1010 numbrit.

Faili teisel real on arv BB (0,1B100{,1} \le |B| \le 10, (min(B,1/B))1000<1018(\min(|B|, |1/B|))^{1000} < 10^{-18}) samuti kümnendsüsteemis, maksimaalselt 1010 numbrit pärast koma.

출력

Tekstifaili ainsale reale väljastada arvu RR esitus alusel BB täpsusega vähemalt 10810^{-8}. See tähendab, et kui väljundis on näiteks "abc.deabc.de", peab kehtima võrratus R(aB2+bB+c+dB1+eB2)108.|R - (a \cdot B^2 + b \cdot B + c + d \cdot B^{-1} + e \cdot B^{-2})| \le 10^{-8}. Kui seda võrratust rahuldavaid esitusi on mitu, võib väljastada ükskõik millise neist, tingimusel, et väljastatud esituse pikkus ei ületa 10001000 märki.

Kui B>1|B| > 1, võib väljund sisaldada numbreid 0B10 \ldots \lceil |B|\rceil - 1. Kui B<1|B| < 1, võib väljund sisaldada numbreid 01/B10 \ldots \lceil |1/B|\rceil - 1. (Funktsioon \lceil\rceil tähistab ümardamist ülespoole lähima täisarvuni; täpsemalt on x\lceil x\rceil väärtus vähim selline täisarv mm, mille korral xmx \le m.)

예제

예제 1

입력
123
0.1
출력
3.21
이 문제는 채점 준비 중입니다. 테스트 데이터가 확보되면 제출이 가능합니다.