Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Negativ-Marian Tarina  (Citit de 1892 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
gerd13
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« : Mai 20, 2014, 22:06:52 »

Clasa X-a
Problema 1-Negativ
Suntem obișnuiți cu scrierea numerelor într-o bază de numerație B, unde reprezentarea 𝑎𝑛−1𝑎𝑛−2.... 𝑎1𝑎0 corespunde valorii
𝑎0 + 𝐵 ∗ 𝑎1 +.........+ 𝐵𝑛−1 * 𝑎𝑛−1, unde B este un numar natural mai mare sau egal cu 2 și fiecare cifră este între 0 și B-1
inclusiv.
Acest sistem se poate extinde în diverse moduri, unul dintre acestea este să permitem ca baza de numerație să fie un număr
negativ. În acest caz, B este un număr întreg, B ≤-2. Cifrele râmăn însă numere naturale, 0 ≤ 𝑎𝑖<-B. Avantajul unei astfel de srieri
este acela că putem reprezenta orice număr întreg (posibil negtiv), folosind un număr corespunzător de cifre. Reprezentarea
este unică dacă inpunem condiția ca prima cifră a numarului să nu fie zero.
Cerință
Dându-se două numere în reprezentarea într-o aceeași bază negativă, se cere să se calculeze reprezentarea sumei lor în aceeași
bază.
Date de intrare
Fișierul de intrare negativ.in conține următoarele date:
- pe prima linie, baza B
- pe fiecare din următoarele 2 linii, numărul 𝑁𝑖 de cifre ale unui număr, urmat de 𝑁𝑖 numere, separate prin spații, reprezentănd
cifrele numărului.
Date de iesire
În fișierul de ieșire negativ.out se va scrie, pe o singură linie, numărul N de cifre ale rezultatului, urmat de N numere
reprezentând cifrele rezultatului, taote separate prin spații.
Restricții și precizări
 -2 ≥ B ≥ -10000
 1 ≤ 𝑁𝑖 ≤ 30000
 Atât în datele de intrare, cât și în cele de ieșire, prima cifră a fiecărui număr va fi diferită de zero. Numărul zero va
reprezenta ca un șir de zero cifre.
 Timp maxim de execuție/test: 0.2 secunde.
 Total memorie disponibilă: 10 MB.
 Dimensiunea maximă a sursei: 5 KB.
Exemple
Negativ.in negativ..out
-3 2 1 2
4 1 1 0 2
3 2 1 0
Explicație:
1102−3 = 1 * ( - 27 ) + 1 * 9 + 0 * ( - 3) + 2 = -16
210−3 = 2 * 9 + 1 * ( - 3) + 0 = 15
Rezultatul este -1 = 1 * ( - 3) + 2 = 1

Un hint pentru rezolvare!
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines