Panowie... poległem, po przeczytaniu tych wszystkich postów i dosłownie dziesiątek prób zmian tego kodu doszedłem do tej wersji i mimo, że przy każdej sprawdzanej przeze mnie kombinacji cyfr wynik wychodzi dobry, to jednak SPOJ nie akceptuje mojego kodu.
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a, t;
double b, c;
cin >> t;
for(int i = 0 ; i < t ; i++)
{
cin.clear();
cin.sync();
cin >> a >> b;
a = a%10;
c = pow(a, b);
int d = (int)(c);
cout << d%10 << endl;
}
return 0;
}
Jeżeli jednak nie chcesz wklejać kodu to mam pewną sugestię: problem może leżeć w sposobie wczytywania danych.
Jeżeli na przykład dane wczytujesz w for(int i = 0; i <= t; i++) to pętla wykona się t+1 razy (0, 1, 2, ... , t). Przykładowo:
2
2 3
3 3
2 i 3 - bez problemu, 3 i 3 - bez problemu.
Ale co dalej? Program będzie czekał na jeszcze jeden zestaw danych. Na ideone daje to sukces a na SPOJu WA (sprawdzone na moim kodzie do tego zadania).
Może mi ktoś pomóc w tym zadania działa poprawnie ale wyświetla błędną odpowiedź
http://ideone.com/iBWS8D72
Sory podstawiłem nie ten link do ideone to jest moja ostatnia wersja
http://ideone.com/ZkK5Q785