Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2018-04-05 19:11:29.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:bazaf.in, bazaf.outSursăONI 2018, clasa a 9-a, ziua 1
AutorCiprian ChescaAdăugată deoldatlantianSerban Cercelescu oldatlantian
Timp execuţie pe test0.15 secLimită de memorie131072 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Bazaf

În matematicăfactorialulunuinumăr natural nenulKeste notat cuK!şi este egal cu produsul numerelor naturale nenule mai mici sau egale cuK. Exemple:1! = 1;2! = 1·2 = 2;3! = 1·2·3 = 6,....,K! = 1·2·3·...·K.Orice număr natural Npoate fi descompus cu ajutorul numerelor factoriale astfel:mN1!f2!f3!f...m!f=⋅1+⋅2+⋅3++unde coeficienţii fi, cu 1≤ i≤ msunt numere naturale şi în plusfm≠0;Exemple: 20=1!⋅20; 20=1!⋅6+2!⋅4+3!⋅1; 20 =1!⋅0+2!⋅1+3!⋅3;Dintre toate aceste descompuneri posibile existăo singurădescompunere, numitădescompunere în bazăfactorialăcare respectăsuplimentar condiţiile0 ≤ fi≤ i, cu 1≤ i<mşi0 < fm≤m.Exemple:6=1!⋅0+2!⋅0+3!⋅1; 17 =1!⋅1+2!⋅2+3!⋅2; 119 =1!⋅1+2!⋅2+3!⋅3+4!⋅4;

Cerinţe

1.Să se determinedescompunereaînbazăfactorialăa unui număr natural Xdat.
2.Cunoscând o descompunere oarecare a unui număr natural Ysăse determine descompunerea în bazăfactorialăa acestuia.

Date de intrare

Fişierul de intrare este bazaf.inAcesta conţinepe primul rând un număr natural V care poate avea doar valorile 1 sau 2 cu următoarea semnificaţie:

  • dacă valoarea lui V este 1, pe a doua linie a fişierului de intrare se găseşte un număr natural X cu semnificaţia de mai sus;
  • dacă valoarea lui V este 2, pe a doua linie a fişierului de intrare se găseşte o descompunere a unui număr Y sub forma unui şir de valori naturale în care primul termen este m, urmat de m valori  f_i , care respectă condiţiilefi≥0 , cu 1≤ i <mşifm≠0, despărţite princâte un spaţiu,cu semnificaţia de mai sus.

Date de ieşire

În fişierul de ieşire bazaf.out ...

Restricţii

  •  2 \leq X \leq 10^{15}
  •  1 \leq m \leq 100000
  •  0 \leq f_i \leq 10^9

Exemplu

bazaf.inbazaf.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?