Tutaj jest moj kod, moim zdaniem, jest on poprawny. Dziala nawet dla duzych liczb. Jednak spoj pokazuje mi blad wykonania. Czy ktos moglby pomoc? Gdzie nie dostrzegam mojego błędu? Z góry dziękuje.
#include <iostream>
using namespace std;
long long potega(long a, long b)
{
if(b==0) return 1;
else return potega(a, b-1)*a;
}
int main()
{
int il_t;
cin>>il_t;
for(int i=0; i<il_t; i++)
{
long long a, b;
int pom;
cin>>a>>b;
pom=b%4;
if(pom==0)
{
cout<<potega(a,4)%10<<endl;
}
else if(pom==1)
{
cout<<potega(a,1)%10<<endl;
}
else if(pom==2)
{
cout<<potega(a,2)%10<<endl;
}
else if(pom==3)
{
cout<<potega(a,3)%10<<endl;
}
}
return 0;
}