La ora de matematică Georgică a învăţat o nouă operaţie: ridicarea la putere. În timpul orei de informatică aprofundează această noţiune considerând două numere naturale m
şi n
, cu acelaşi număr de cifre şi calculând:
a) puterea p
= a
b
, unde a
este ultima cifră a lui m
, iar b
este ultima cifră a lui n
;
b) suma s
a tuturor puterilor de forma x
y
, unde x
şi y
sunt cifre din m
, respectiv n
de pe aceeaşi poziţie. De exemplu pentru m=624
şi n=253
, se va calcula s=
4
3
+ 2
5
+ 6
2
şi se obţine s=132
.
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
şin
au acelaşi număr de cifre.
Exemplu
putere.in
624 253
putere.out
64 132
Explicaţie
m=624
, n=253
.
p=
4
3
, adică p=64
s=
4
3
+ 2
5
+ 6
2
, adică s=132
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema putere:
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("putere.in");
ofstream fout("putere.out");
int main()
{
int p , m , n , x , y , a , b;
long long s = 0;
fin >> m >> n;
a = m % 10;
b = n % 10;
if(a == 0 && b == 0)
p = 0;
else
p = pow((double)a,b);
fout << p << endl;
while(m != 0 && n != 0)
{
x = m % 10;
y = n % 10;
s = s + pow((double)x,y);
m = m / 10;
n = n / 10;
}
fout << s;
fin.close();
fout.close();
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #140 putere
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #140 putere de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!