2 / 4
Mar 2018

Nie wiem co jest źle. Generalnie zazwyczaj wychodzą dobre wyniki choć np przy 5 do potęgi 2 wskazuje na resztę równą 4.

#include <iostream
#include <cmath
#include <cstdlib

using namespace std;

int ilosc,a,b;

int main()
{
cin >> ilosc;

int *tablica;
tablica = new int [ilosc];

for (int i=0; i<ilosc; i++)

{

cin >> a >> b;

tablica[i]= pow(a,b);

}

for (int i=0; i<ilosc; i++)

cout << (tablica [i]%10)<<endl;

system ("pause");



return 0;

}

  • created

    Mar '18
  • last reply

    Mar '18
  • 3

    replies

  • 969

    views

  • 2

    users

  • 2

    links

Widzę tylko jeden malutki błąąd. Widzę złą kolejność. Powinieneś najpierw czytać, a dopiero potem pisać. Przeczytaj: Jak zdobyć szacun na SPOJu, a potem ewentualnie jeżeli zechcesz, wpłać dobrowolny datek na szczytny cel. Wtedy ja też zupełnie dobrowolnie będę bardziej skłonny udzielać Ci dobrowolnej, darmowej, wszechstronnej, w miarę moich możliwości, pomocy.

Dzięki serdeczne w imieniu Maćka.

Co do zadania. Nie można rozwiązać zadania w taki sposób.
pow(1000000000, 1000000000) to strasznie duża liczba i nie “zmieści się” w żadnym standartowym typie, a typy zmiennoprzecinkowe są tutaj zupełnie nieprzydatne. Musisz pomyśleć nad sposobem obejścia tego problemu [np na kartce papieru] a dopiero potem zająć się kodem.
Ewentualnie, jak nic nie wymyślisz, poczytaj wątki dotyczące tego zadania: http://discuss.spoj.com/search?q=czy%20umiesz%20potęgować8