Witam. Rozwiązywałem problem na SPOJu - http://pl.spoj.com/problems/PA05_POT/
Stworzyłem własny kod i przy różnym numerze testu program przestaje działać mimo, że testy ze SPOJa liczy dobrze. Strona poza tym oddaje błąd SIGABRT. Czy dałoby się przerobić ten kod na wskaźniki? Może wtedy by zadziałało. Myślałem nad tym sporo czasu i nie wpadłem na żaden pomysł jak przerobić te tablice na wskaźniki.
Spróbowałem też przerobić kod z tablicami na kod bez nich i wydaje się bardziej estetyczny, prostszy(chyba za bardzo poleciałem wyobraźnią z tablicami :P), lecz z kolei strona daje komunikat o przekroczonym czasie. Wstawiam oba kody.
#include <iostream>
using namespace std;
int a,b,t;
int main()
{
cin>>t;
for(int i=1; i<=t; i++)
{
cin>>a>>b;
int *c = new int[b];
c[0]=a;
for(int j=1; j<=b; j++)
{
c[j]=c[j-1]*a;
}
if( (c[b-1])>=10 )
{
cout<<((c[b-1])%10)<<endl;
}else
cout<<c[b-1]<<endl;
delete [] c;
}
return 0;
}
#include <iostream>
#include <math.h>
using namespace std;
int a,b,t,c;
int main()
{
cin>>t;
for(int i=1; i<=t; i++)
{
cin>>a>>b;
c=a;
for(int j=1; j<b; j++)
{
c=c*a;
}
if( c >=10 )
{
cout<<(c%10)<<endl;
}else cout<<c<<endl;
}
return 0;
}