Skaitļu zinātniskais pieraksts

ID: zinpier
Grūtība: 2/5
Laika limits: 1

Uzdevums

Zinātniskos un inženieru aprēķinos skaitļi bieži tiek pierakstīti formā a*10b. kur a ir skaitļa mantisa (reāls skaitlis, 1≤|a|<10) un norāda zīmīgos ciparus, bet b (vesels skaitlis) ir skaitļa kārta.

Šādā pieraksta formā ir ērti pierakstīt gan ļoti lielus, gan ļoti mazus skaitļus. Piemēram, skaitli 12000000000000000 pieraksta kā 1,2*1016, bet 0,00000711 - kā 7,11*10- 6.

Cilvēkiem, kam nav iznācis strādāt ar skaitļiem šādā pierakstā, tas var likties neērts, tāpēc dabīga vēlme ir pārveidot skaitļus no zinātniskā pieraksta "parastajā".

Pēc pārveidošanas iegūto skaitli parasti nepieciešams noapaļot. Parametru k (vesels skaitlis), kas norādīs, cik precīzu rezultātu vēlamies iegūt, sauksim par decimālo precizitāti un uzskatīsim, ka vēlamies iegūt rezultātu ar precizitāti 10k. Piemēram, ja precīzais rezultāts ir 1234,56 , tad pie k=2 iegūsim 1200, pie k=1 iegūsim 1230, pie k=-1 iegūsim 1234,6.

Uzrakstiet programmu, kas veic šo pārveidošanas un noapaļošanas uzdevumu!

 

Ievaddati

Teksta failā zinpier.dat dots skaitlis zinātniskajā pieraksta formā. Pirmajā rindā dota mantisa a, kura satur ne vairāk kā 200 ciparus. Faila otrajā rindā dota kārta b (vesels skaitlis, |b|≤200). Faila trešajā rindā dota pārveidotā skaitļa decimālā precizitāte k (vesels skaitlis, |k|≤200).

 

Izvaddati

Teksta faila zinpier.rez vienīgajā rindā jāizvada iegūtais skaitlis. Jāizvada visi cipari, kas skaitļa pierakstā palikuši pēc noapaļošanas (arī tad, ja pēdējie cipari ir nulles). Starp skaitļa veselo un daļveida daļu jāizvada komats (nevis punkts). Ja daļveida daļas nav, tad komats nav jāizvada.

 

Piemērs

zinpier.datzinpier.rez
1,2345
3
1
1230
  
zinpier.datzinpier.rez
1,234
3
-2
1234,00

 

Atsauces

Uzdevums izmantots Igaunijas informātikas olimpiādē 2004.gadā
© 2001-2002 olimps! http://www.lio.lv/olimps/