ConcursC++17

numar

Se dă un număr raţional strict pozitiv qq, sub formă de fracţie zecimală.

Cerință

Să se determine două numere naturale aa şi bb astfel încât q=a/bq = a / b, iar modulul diferenţei dintre aa şi bb să fie minim.

Date de intrare

Fişierul numar.in conţine:

  • pe prima linie două valori naturale nini şi nznz. nini reprezintă numărul de cifre care formeaza partea întreagă a lui qq iar nznz reprezintă numărul de cifre care formează partea fracţionara a lui qq.
  • pe a doua linie, nini cifre care reprezintă partea întreagă a lui qq. Între două cifre se află câte un caracter spaţiu.
  • pe a treia linie, nznz cifre care reprezintă partea zecimală a lui qq. Între două cifre se află câte un caracter spaţiu.

Date de ieșire

Fişierul numar.out va conţine:

  • pe prima linie un număr natural n1n_1 care reprezintă numărul de cifre din care este alcătuit numărul aa;
  • pe a doua linie, cifrele numărului aa, fără spaţiu între ele.
  • pe a treia linie un număr natural n2n_2 care reprezintă numărul de cifre din care este alcătuit numărul bb;
  • pe a patra linie, cifrele numarului bb, fără spaţiu între ele.

Restricții și precizări

  • 1≤ni,nz<2 0001 \leq ni, nz < 2 \ 000.
  • 1≤ni+nz≤2 0001 \leq ni + nz \leq 2 \ 000.
  • Cifrele din care este alcătuit qq sunt cele din sistemul zecimal.
  • Pentru 2020% dintre teste, ni+nz≤9ni + nz \leq 9; pentru alte 1515% dintre teste, 10≤ni+nz≤1610 \leq ni + nz \leq 16.

Exemplul 1

numar.in

1 3
0
3 7 5

numar.out

1
3
1
8

Explicație

q=0.375=3/8q = 0.375 = 3 / 8.
Exista şi alte perechi de valori naturale x,yx, y astfel incat x/y=0.375x / y = 0.375, dar pentru oricare altă pereche, ∣x−y∣>∣3−8∣|x-y| > |3-8| 

Exemplul 2

numar.in

3 7
0 1 2
3 4 5 6 7 0 0

numar.out

7
1234567
6
100000

Explicație

q=12.34567=1234567/100000q = 12.34567 = 1234567 / 100000.

Sursă și autori

OJI 2010, clasele 9. Stelian Ciurea.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑