0140 - Putere

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Sursa: [1]

Cerinţă

Scrieţi un program, care pentru două numere naturale date m şi n determină:

a) puterea p definită în enunţ; b) suma s definită în enunţ.

Date de intrare

Fişierul de intrare putere.in conţine pe prima linie numerele m şi n, separate între ele printr-un spaţiu.

Date de ieşire

Fişierul de ieşire putere.out va conţine, pe prima linie p şi pe a doua linie s.

Restricţii şi precizări

0 <m,n< 2000000001 Toate cifrele lui n sunt nenule. m şi n au acelaşi număr de cifre.

Exemplu

putere.in

624 253 putere.out

64 132

Explicaţie

m=624, n=253. p= 43 , adică p=64 s= 43 + 25 + 62 , adică s=132.

Încărcare soluție

with open('putere.in', 'r') as f_in, open('putere.out', 'w') as f_out:
    m, n = map(int, f_in.readline().split())
    p = int(str(m)[-1])
    s = p
    while m > 0:
        p = (p * n) % 10
        s += p
        m //= 10
        n = int(str(n * n)[-len(str(m)):])
    f_out.write(str(p) + '\n')
    f_out.write(str(s) + '\n')