Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Przekroczenie limitu czasu przy wyznaczaniu ostatniej cyfry potęgi

Ostatnio zmodyfikowano 2014-12-25 20:14
Autor Wiadomość
Klaudiastm
Temat założony przez niniejszego użytkownika
Przekroczenie limitu czasu przy wyznaczaniu ostatniej cyfry potęgi
» 2014-12-25 17:52:49
Witam
Mam do napisania program wyznaczający ostatnią cyfrę potęgi 2. Mam coś takiego:
#include <iostream>
#include <math.h>
using namespace std;

int main() {
double n, a;
cin >> n;

a = (pow (2, n));
while ( fmod (a, 1) != 0 ){
a *=10000;
}
a = fmod (a, 10);
cout << a;
}

Jednak w niektórych przypadkach program przekracza limit czasu. Wiem też, że w przypadku kolejnych potęg ostatnie cyfry to cyklicznie 2, 4, 8, 6 ale nie potrafię napisać algorytmu, który przyporządkowywałby je wpisanej przez użytkownika liczbie. Jakieś wskazówki? Wesołych świąt!
P-123322
Monika90
» 2014-12-25 20:14:30
Jeżeli się powtarza co 4, to reszta z dzielenia wykładnika przez 4 na pewno Ci się przyda.
P-123329
« 1 »
  Strona 1 z 1