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 = ab , unde a este ultima cifră a lui m, iar b este ultima cifră a lui n;
b) suma s a tuturor puterilor de forma xy, 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= 43 + 25 + 62 ş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şinau 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.
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!