Od pewnego czasu zastanawiam się jak można przyśpieszyć wyszukiwanie którejś tam z kolei liczby pierwszej przez program pisany w języku C++
Kiedyś trochę się wziąłem i napisałem mały algorytm, który podawał liczbę pierwszą (np. 10 000 z kolei).
Obecnie znalazłem początkowy projekt tej realizacji napisany w Devc++. W miarę optymalizacji program sprawdza każdą nieparzystą liczbę i dzieli ją przez poprzednie znalezione liczby pierwsze. Niestety nie wiem jak jeszcze zwiększyć wydajność tego programu. Poprosiłbym o pomoc. A program wygląda tak:
Kod: Zaznacz cały
#include <cstdlib>
#include <iostream>
#include <cstdio>
using namespace std;
int main(int argc, char *argv[])
{
int t[100000];
int a=11,i=0,c=3,b,d;
t[0]=3;
t[1]=5;
t[2]=7;
cout<<"Podaj ktora z kolei liczba pierwsza ma byc wyswietlona"<<endl<<endl;
cin>>b;
do
{
if(a%t[i]==0)
{
a=a+2;
i=-1;
}
i=i+1;
if(i==c)
{
t[i]=a;
if((c+1)==(b-1))
{
cout<<char()<<endl;
cout<<t[i]<<endl<<endl;
}
a=a+2;
c=c+1;
d=c;
i=0;
}
if(d>10000)
{
}
}
while(d<b);
cout<<"Wykonano dla portalu Matematyka.pl"<<endl<<"Przez Leszek9238"<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}