Przekroczenie limitu czasu przy wyznaczaniu ostatniej cyfry potęgi
Ostatnio zmodyfikowano 2014-12-25 20:14
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! |
|
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. |
|
« 1 » |