Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2008-03-01 13:03:02.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:lgput.in, lgput.outSursăad-hoc
AutorArhiva EducationalaAdăugată detudalexTudorica Constantin Alexandru tudalex
Timp execuţie pe test0.025 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Ridicare la putere in timp logaritmic

Dandu-se doua numere naturale N si P, se cere sa se calculeze restul impartirii lui NP la 1999999973.

Date de intrare

Fisierul de intrare lgput.in va contine 2 numere N si P.

Date de iesire

In fisierul de iesire lgput.out va fi scris un singur numar reprezentand restul impartirii lui NP la 1999999973.

Restrictii

  • 2 ≤ N, P ≤ 232

Exemplu

lgput.inlgput.out
2 4
16

Indicatii de rezolvare

O solutie directa este cea prin inmultiri repetate. Aceasta solutie are complexitatea O(P) si obtine 30 de puncte.
O alta solutie este cea de a ridica la putere in timp logaritmic si are o complexitatea O(log2P). Descrierea acestui procedeu se gaseste pe wikipedia. Algoritmul se poate aplica si la matrici si polinoame.
Sursa de 100 de puncte se gaseste aici.

Probleme similare

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?