cat este ultima cifra a lui 2 la puterea n, daca n e mai mic de 10000. Am nevoie de rezolvare in C++
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int main()
{
unsigned n, v[5];
cin>>n;
v[1]=2;
v[2]=4;
v[3]=8;
v[4]=6;
if(n==0)
cout<<1;
else if(n%4==0)
cout<<v[4];
else
cout<<v[n%4];
return 0;
}
Explicație:
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
Dupa cum se observa, cifrele "2, 4, 8, 6" se repeta in aceasta ordine, asa ca vom construi un vector cu 4 elemente: v=(2,4,8,6).
Cand se citeste un numar, verifica restul impartirii cu 4 (deoarece se repeta 4 cate 4) si afiseaza elementul din v cu pozitia corespunzatoare cu restul impartirii. Exemplu: 2^5 = 32, ultima cifra va fi 2, 5%4 = 1, v[1] = 2.
Daca restul impartirii la 4 este 0, atunci se va afisa v[4], iar daca n este 0, se afiseaza 1.