Решето Эратосфена


Вот такой короткий текстик для получения простых чисел:

/*///////////////////////////////////////////////////////////////

 Решето Эратосфена, GNU C++, 2011-02-09
 
 Artix, master@7masterov.ru, icq:53666599, skype:artixmaster
 
 * Error in code? Nothing is perfect!
 * Free source for free Linux, use it for free!
 * Please, do not remove this comment!

///////////////////////////////////////////////////////////////*/

#include <iostream>

using namespace std;

int main()
{
    const int N = 100;
    int grid[N];
    for(int i=0;i<N;i++) grid[i] = i;
    grid[1] = 0;
    for(int i=2;i<N;i++)
    {
        if (grid[i]!=0)
            for(int j=i*2;j<N;j+=i)
            {
                grid[j]=0;
            }
    }
    int count = 0;
    for(int i=0;i<N;i++)
        if (grid[i]!=0)
        {
            cout << grid[i] << " ";
            count++;
        }
    cout << endl;
    cout << "Total: " << count << endl;
    return 1;
}
// eof