mpd

Вычисление простых чисел во время компиляции, версия с другого конца.

Jan 18, 2010 00:35



English version

Классический вариант проверял делением, а я решил ради интереса создать все варианты произведений, а затем перебрать числа, для которых отсутствуют эти варианты.
Как всегда, по дороге узнал много интересного...

template struct K;

template struct K
{
void not_prim();
};

template struct K : public K
{
using K::not_prim;
K() { char a[J] = {0}; not_prim(a); }
};

template struct K : public K
{
using K::not_prim;
typedef const char A[J*I];
virtual void not_prim(const A &) const;
};

int main()
{
K<55> k;
}
Оформлено с помощью GNU Source-highlight 2.9

Собственно, это реализация Решета Эратосфена.
Upd: А теперь классический вариант - http://mpd.livejournal.com/54014.html - с примерами вывода различных компиляторов.

c++

Previous post Next post
Up