#1503 Puteri5
Deoarece Ionel nu a înţeles bine ordinea de efectuare a operaţiilor de ridicare la putere, doamna învăţătoare îi dă o tema care să îl ajute să aprofundeze această problemă. Astfel, îi dă mai multe exerciţii de următorul tip: pentru trei cifre nenule a, b, c, el va trebui să calculeze valoarea următoarei expresii:
abc+acb+bac+bca+cab+cba
Cerința
Cunoscând cifrele a, b, c, determinaţi valoarea obţinută în urma efectuării calculelor de mai sus.
Date de intrare
Fișierul de intrare puteri5.in conține pe prima linie trei cifre a b c, separate prin câte un spaţiu.
Date de ieșire
Fișierul de ieșire puteri5.out va conține un număr natural ce reprezintă valoarea obţinută pentru expresia precizată anterior.
Restricții și precizări
1 ≤ a,b,c ≤ 5
Exemplul 1
puteri5.in
2 1 3
puteri5.out
24
Explicație
213+231+123+132+321+312=21+23+18+19+32+31=2+8+1+1+9+3=24
Exemplul 1
puteri5.in
2 3 2
puteri5.out
1698
Imi da 10, chiar daca o fac cu exponentiere rapida
#include
using namespace std;
ifstream cin("puteri5.in");
ofstream cout("puteri5.out");
unsigned long long int Putere(unsigned long long int A ,unsigned long long int n)
{
if(n == 0)
return 1;
if(n % 2 == 1)
return A * Putere(A , n - 1);
int P = Putere(A , n / 2);
return P * P;
}
int main()
{
unsigned long long int s=0;
int a,b,c;
cin>>a>>b>>c;
s=Putere(a,Putere(b,c))+Putere(a,Putere(c,b))+Putere(b,Putere(a,c))+Putere(b,Putere(c,a))+Putere(c,Putere(b,a))+Putere(c,Putere(a,b));
cout << s << endl;
return 0;
}
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
Solutia foloseste numere mari.Ai mai jos atasata problema
Explicație:
Anexe:
StefaniaIrina1:
Am primit 100 de puncte, multumesc mult!
Alte întrebări interesante
Limba română,
8 ani în urmă
Istorie,
8 ani în urmă
Informatică,
8 ani în urmă
Informatică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă