Witam.
Rozwiązuje zadania ze strony SPOJ.
Trafiło mi się takie zadanie z liczb pierwszych, którego sędzia nie chce zaakceptować - mianowicie "przekroczony limit czasu"
Oto moje rozwiązanie:
#include<iostream>
using namespace std;
int date(int l, int c, int tab[])
{
static int a=0;
for(int i=1; i<=l; i++)
{
if(l%i==0)c++;
if(l==i){tab[a]=c; a++;}
}
};
int main()
{
int lt, l, k=1;
cin>>lt;
int *tab = new int [lt];
while(k<=lt)
{
cin>>l;
date(l,0,tab);
k++;
};
for(int j=0; j<lt; j++)
if(tab[j]==2) cout<<"TAK"<<endl;
else cout<<"NIE"<<endl;
delete[] tab;
return 0;
}
Kod sie skompiluje, ale problem jest z czasem, którego sędzia nie chce zaakceptować... dlatego proszę o pomoc.