OpenGL: Можно вообще безо всяких вариантов это сделать. В массиве, очевидно, не нужны очень многие числа. Поэтому оставим по 3 самых больших и самых маленьких по модулю положительных и отрицательных, один ноль, и среди оставшихся тупо все тройки переберём.