Múltiplos de 3 o 5

Dado un número n, necesitamos saber todos los múltiplos de 3 o 5 que hay de 1 a n.

Por ejemplo, todos los múltiplos de 3 o 5 de 1 a 1000000000.

Como este problema se podría resolver programando, una condición: la complejidad debe ser O(1) y no O(n), es decir, no se pueden iterar todos los números en un bucle y probar, sino que la solución debe ser directa, dado el número n, una fórmula, de manera que tarde lo mismo para calcular los múltiplos de 1 a 10 que de 1 a 1000000000.

P.D: Este es el primero de los problemas del Proyecto Euler, una serie de problemas (sale uno nuevo cada semana) orientados a encontrar el punto en común entre la programación y las matemáticas.