Siemka, chciałem rozwiązać zadanie z polskiego SPOJA z działu łatwe ,, Czy umiesz potęgować?", kiedy załączyłem plikk z kodem źródłowym i wysłałem w rozwiązaniu, niestety wyniku jest napisane ,,przekroczono limit czasu" . Chodzi tutaj o to, że program jest za wolny, bo źle go skonstruowałem? Nie ukrywam, że zrobiłem go prymitywnie i bez wyobraźni, ale myślałem, że jakoś pójdzie. Jak waszym zdaniem powinno to wyglądać i co jest do poprawienia i zmiany? Tutaj daje link do zadania: http://pl.spoj.com/problems/PA05_POT/ A tutaj kod źródłowy:
<
#include<iostream>
using namespace std;
int potega(int a,int b)
{
if (b==0)return 1;
else
return a=a*potega(a,--b);
}
int D=0;
int main()
{
int a,b;
long mn[10];
cin>>D;
int x=0;
while(x<D)
{
cin>>a>>b;
a=a%10;
mn[x]=potega(a,b)%10;
x=x+1;
}
int y=0;
while(y<x)
{
cout<<mn[y]<<endl;
y=y+1;
}
return 0;
}
P.S: Nie wiem czy kod dodałem do postu w dobry sposób, jak coś to porawcie mnie, bo wcięcia kodu poginęły jak dodałem post.