in problema am de aflat numarul de divizori al tuturor numerelor din intervalul [a;b] ( b-a<= 10.000 si valoarea maxima a lui b e de 2 miliarde ) si imi trebuie un algoritm care nu executa multe oeratii pentru fiecare numar...
Am vorbit cu Florian pe mess si ma ajutat la segventa de aflat numarul de divizori a unui numar folosind numerele prime si puterea la care se gasesc ele ( tin sa ii multumesc pe aceasta cale ), insa pentru aceasta am nevoie de un vector in care se afla toate numerle prime mai mici sau egale cu b, ceea ce nu l-am mai intrebat crezand ca stiu sa fac asta..
Am facut algoritmul prin care generez numerele prime , merge , dar depaseste timpu
unsigned long prim(unsigned long x)
{if(x==1)return 0;
if (x==2) return 1;
if (x%2==0) return 0;
for(unsigned long i=3;i<=x/2;i=i+2)
if(x%i==0)return 0;
return 1;} // functia pt aflat numere prime
.............................
p[1]=2;
k=2;
for(j=3; j<=b; j=j+2)
if (prim(j))
{p[k]=j;
k++;} //inserarea in vector a numerelor prime
O sa incerc metoda lui Stefan si revin