Informatică, întrebare adresată de andreeaonaca23, 8 ani în urmă

scrie un program pentru a citi un număr X și pentru a afișa pe ecran ultima cifră a lui 2^x.
limba de programare C++​

Răspunsuri la întrebare

Răspuns de andrei750238
5

#include <iostream>

using namespace std;

int main() {

int n;

cout << "Introduceti n : ";

cin >> n;

cout << "Ultima cifra a lui 2^" << n << " este ";

if (n == 0) cout << 1;

else {

 switch (n % 4)

 {

 case 0:

  cout << 6;

  break;

 case 1:

  cout << 2;

  break;

 case 2:

  cout << 4;

  break;

 case 3:

  cout << 8;

  break;

 }

}

}

► Explicatie matematica

Stim ca ultima cifra a lui 2^n este :

  • 1, daca n=0
  • 6, daca n=4k (unde k!=0)
  • 2, daca n=4k+1
  • 4, daca n=4k+2
  • 8, daca n=4k+3

Deci ne putem ghida dupa restul impartirii lui n la 4 pentru a determina ultima cifra a lui 2^n.

Acest algoiritm este recomandat fata de metoda clasica cu for, functioneaza pentru numere foarte mari, are complexitate constanta.

Anexe:
Alte întrebări interesante