[C++] Sito Erastotenesa przy użyciu std::list
: 7 lis 2011, o 14:26
Witam, muszę napisać sito Eratostenesa, korzystając z kontenera std::list. Wydawało mi się to stosunkowo proste, program jednak nie działa. Byłbym wdzięczny, gdyby ktoś wskazał błąd w moim kodzie.
Kod: Zaznacz cały
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <list>
using namespace std;
int main(int argc, char *argv[])
{ int l,i,k,m,n=2;
cin >> l;
list<int> lista;
for(i=0;i<l;i++)
{lista.push_back(i+1);}
for(k=2;k<=sqrt(l);k++)
{ while(k*n<=l)
lista.remove(k*n);
n++;
}
list<int>::iterator iter;
for(iter=lista.begin(); iter != lista.end(); iter++ )
cout<<*iter<<" ";
system("PAUSE");
return EXIT_SUCCESS;
}