Buna ! Imi poate spune cineva de ce nu functioneaza codul :
#include
using namespace std;
int main()
{
int a , putere=1 ;
cin>>a;
for(int i=0;i<16;i++)
putere=putere*a;
cout<< putere;
return 0;
}
cerinta => https://www.pbinfo.ro/?pagina=probleme&id=2599
Răspunsuri la întrebare
Răspuns de
1
Tipul signed int nu poate memora numere mai mari decat cam (). O solutie este sa folosesti tipuri de numere intregi mai mari (long long, pana la sau unsigned long long ).
#include <iostream>
using namespace std;
int main()
{
unsigned int a;
unsigned long long int putere=1 ;
cin>>a;
for(int i=0;i<16;i++)
putere=putere*a;
cout<< putere;
return 0;
}
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int main()
{
long long a;
cin >> a;
a=a*a;
a=a*a;
a=a*a;
a=a*a;
cout << a;
return 0;
}
Explicație:
e încă o variantă...
se putea de folosit un for pentru acele 4 înmulţiri a=a*a, adică
for (int i=0; i < 4; ++i )
a=a*a;
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Se cere asta " Aplicați de cât mai puține ori operatorul de înmulțire."