Informatică, întrebare adresată de cristinaiasi, 9 ani în urmă

Grigore Moisil, 2013 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 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.


PoseidonGemini: pune mai multe puncte ca e o probleme de concurs
PoseidonGemini: incep sa fac problema
Razzvy: nu sunt si restrictii pentru numarul de cifre?

Răspunsuri la întrebare

Răspuns de PoseidonGemini
0
Totul este compilat in CodeBlocks (c++) si merge cu nr din exemplu.
Sper ca te-am ajutat.
Anexe:

Razzvy: nu poti sa folosesti in C++ semnul acela pentru putere: '^'
Razzvy: se foloseste pentru operatii pe biti
PoseidonGemini: ba sa stii ca merge
Razzvy: incearca un program simplu: cout<<2^3;
Razzvy: sa vezi ce iti da
Razzvy: Nu o sa-ti dea 8
PoseidonGemini: mie imi da
PoseidonGemini: o sa vada el care e mai buna
cristinaiasi: #include <fstream>

using namespace std;

ifstream fin("smartphone.in");
ofstream fout("smartphone.out");

int main()
{
int c , n , x , max = -1, max2 = -2;
fin >> c >> n;
for(int i = 1; i <= n ; i ++)
{
fin >> x;
if(x > max)
max2 = max, max = x;
else
if(x > max2)
max2 = x;
}
if(c == 1)
fout << max;
else
fout << max2;
return 0;
}
Răspuns de Razzvy
3
Ai solutia in atasament.
Anexe:

cristinaiasi: din pacate nu este soluti corecta, pe pbinfo 0 puncte
Razzvy: poti sa-mi spui numarul problemei?
cristinaiasi: e ok, 100 puncte, ms
Razzvy: cu placere!
Alte întrebări interesante