Czy może mi ktoś powiedzieć dla jakich liczby mój algorytm nie zadziała? Sędzia twierdzi że wynik jest błędny.
#include
using namespace std;
int potegowanie(int c,int d)
{
if(d==0) return 1;
else return c*potegowanie(c,d-1);
}
int main(int argc, char** argv)
{
int a,b,ile;
cin>>ile;
for(int i=0;i<ile;i++)
{
cin>>a>>b;
if(b==1)cout<<a%10<<endl;
else if(b%4==0)cout<<potegowanie(a,4)%10<<endl;
else if(b%4==1)cout<<potegowanie(a,5)%10<<endl;
else if(b%4==2)cout<<potegowanie(a,6)%10<<endl;
else if(b%4==3)cout<<potegowanie(a,7)%10<<endl;
}
return 0;
}