Fişierul intrare/ieşire:descmult.in, descmult.outSursăONI 2018 clasa a 6-a
AutorEugen NodeaAdăugată defrancuCristian Francu francu
Timp execuţie pe test2 secLimită de memorie32768 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Descmult (clasa a 6-a)

Se consideră două şiruri D = (D1, D2, ..., Dn) şi E = (E1, E2, ... , En) ce reprezintă descompunerea în factori primi pentru un număr natural nenul X, după cum urmează: Di – factorul prim, Ei – puterea la care apare factorul prim Di în descompunerea numărului X (1 ≤ i ≤ n), unde n reprezintă numărul factorilor primi.

Cerinţe

Să se determine:

  1. numărul total de divizori naturali ai lui X
  2. divizorii lui X care aparţin intervalului [A, B], unde A şi B sunt două numere naturale date.

Date de intrare

Fişierul de intrare descmult.in conţine pe prima linie un număr natural C care reprezintă cerinţa ce trebuie rezolvată (C = 1 sau C = 2).

A doua linie conţine, despărţite prin câte un spaţiu, trei numere naturale n A B, cu semnificaţia din enunţ.

Pe linia a treia se află n numere naturale, separate prin câte un spaţiu, ce reprezintă factorii primi D1 D2 ... Dn din descompunerea lui X.

Pe linia a patra se află n numere naturale, separate prin câte un spaţiu, ce reprezintă puterile la care apar aceşti factori E1 E2 ... En.

Date de ieşire

Pentru C = 1 se va rezolva doar prima cerinţă. În acest caz, fişierul de ieşire descmult.out va conţine pe prima linie un singur număr natural nenul ce reprezintă numărul total de divizori naturali ai lui X.

Pentru C = 2 se va rezolva cea de-a doua cerinţă. În acest caz, fişierul de ieşire descmult.out va conţine, separaţi prin câte un spaţiu, divizorii lui X ce aparţin intervalului [A, B].

Restricţii

  • 2 ≤ n ≤ 20
  • 1 ≤ AB ≤ 107
  • 2 ≤ Di < 1000 (numere prime distincte), 1 ≤ in
  • 1 ≤ Ei ≤ 10, 1 ≤ in
  • Factorii primi D1, D2, ..., Dn nu sunt obligatoriu în ordine crescătoare
  • Se garantează că numărul maxim de divizori naturali ai lui X ≤ 1019
  • Intervalul [A, B] conţine cel puţin un divizor
  • Numărul maxim de divizori aflaţi în intervalul [A, B] este ≤ 106
  • Ordinea de afişare a divizorilor nu este importantă
  • Pentru rezolvarea corectă a cerinţei 1 se acordă 20 de puncte, iar pentru cea de-a doua cerinţă seacordă 80 de puncte.

Exemplu

descmult.indescmult.outExplicaţie
1
4 30 50
3 2 5 11
1 3 2 1
48
Pentru acest test se rezolvă cerinţa 1.
X=31*23*52*111=6600 şi are 48 de divizori: 1, 2, 3, 4, 5, 6, 8,
10, 11, 12, 15, 20, 22, 24, 25, 30, 33, 40, 44, 50, 55, 60, 66,
75, 88, 100, 110, 120, 132, 150, 165, 200, 220, 264, 275, 300,
330, 440, 550, 600, 660, 825, 1100, 1320, 1650, 2200, 3300,
6600.
2
4 30 50
3 2 5 11
1 3 2 1
30 44 50 40 33
Pentru acest test se rezolvă cerinţa 2.
X=31*23*52*111=6600.
Divizorii ce aparţin intervalului [30,50] sunt: 30,33,40,44,50.
Ordinea de afişare a divizorilor nu este importantă.
Trebuie sa te autentifici pentru a trimite solutii. Click aici