ConcursC++17

maxim

Fie şirul de numere naturale: aa, a+1a+1, a+2a+2, …\dots, bb. Din toate numerele acestui şir se poate forma un alt număr prin „lipirea” tuturor cifrelor numerelor din şir, în ordinea din şir. Numim acest număr xx. Exemplu: a=97a=97 şi b=105b=105. Se va obţine prin „lipire” numărul x=979899100101102103104105x = 979899100101102103104105.

Cerinţe

Se citesc numerele naturale aa, bb, cc şi dd şi se cere:

  • Să se afişeze cifra de pe poziţia cc din numărul xx;
  • Să se afişeze cel mai mare număr obţinut după eliminarea a exact cc cifre din numărul xx.
  • Să se afişeze numărul de apariţii ale cifrei dd în numărul obţinut după eliminări.

Date de intrare

Pe prima linie a fișierului de intrare maxim.in se găsesc numerele aa, bb, cc şi dd, separate de un spaţiu.

Date de ieșire

Se vor afişa în fișierul de ieșire maxim.out:

  • pe prima linie, cifra de pe poziţia cc din numărul xx;
  • pe a doua linie, numărul maxim obţinut după eliminarea celor cc cifre;
  • pe a treia linie se va afişa numărul de apariţii ale cifrei dd în numărul obţinut după eliminări.

Restricții și precizări

  • Numerele aa, bb şi cc sunt naturale şi 1≤a≤b≤1 0001 \leq a \leq b \leq 1 \ 000;
  • 1≤c<1 \leq c < (numărul de cifre ale numărului xx).
  • Numărul natural dd este o cifră, 0≤d≤90 \leq d \leq 9.
  • Cifrele eliminate pot fi oriunde în cadrul numărului xx, nu neapărat pe poziţii consecutive.
  • Pentru rezolvarea cerinţei 11 se acordă 20%20\% din punctaj, pentru cerinţa 22, 40%40\% din punctaj şi pentru cerinţa 33, 40%40\% din punctaj.

Exemplul 1

maxim.in

13 19 8 1

maxim.out

6
671819
2

Explicație

a=13a=13, b=19b=19, c=8c=8 şi d=1d=1. Numărul xx obţinut prin „lipire” este 1314151617181913141516171819. Cifra de pe poziţia c=8c=8 din xx este 66. Acest 66 se scrie pe prima linie de pe ecran. Pe linia a doua este numărul 671819671819, după ce s-au eliminat c=8c=8 cifre şi anume: 11, 33, 11, 44, 11, 55, 11 de pe primele poziţii şi apoi cifra 11 de după cifra 66; astfel, numărul rămas este 671819671819. Pe ultima linie este numărul 22 (numărul de apariţii ale cifrei d=1d=1 în numărul obţinut după eliminări).

Sursă și autori

ONI 2007, clasele 5. Cristian Frâncu, Dan Grigoriu.

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 ↑