Rezolvare completă PbInfo #140 putere

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 ş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.

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 Adresa de email.

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!