0140 - Putere: Difference between revisions

From Bitnami MediaWiki
Pop Giulia (talk | contribs)
Pagină nouă: ==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 nen...
 
Pop Giulia (talk | contribs)
No edit summary
 
Line 1: Line 1:
Sursa: [https://www.pbinfo.ro/probleme/140/putere]
==Cerinţă==
==Cerinţă==
Scrieţi un program, care pentru două numere naturale date m şi n determină:
Scrieţi un program, care pentru două numere naturale date m şi n determină:

Latest revision as of 13:02, 20 May 2023

Sursa: [1]

Cerinţă[edit]

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[edit]

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[edit]

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[edit]

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

Exemplu[edit]

putere.in

624 253 putere.out

64 132

Explicaţie[edit]

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

Încărcare soluție[edit]

<syntaxhighlight lang="python" line> 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')

</syntaxhighlight>