Lo que me descuadra es lo de una multiplicación y una suma. Si conoces la fórmula de la suma de una progresión aritmética sabrás que:
Pero claro la única forma de poner eso como una sola multiplicación y una suma es sustituir N por 1000:
Aunque sigue sin cuadrarme lo del vector.
Por otra parte en el código que expones no sé que quieres hacer cuando pones
i=ve[1000];
Debes saber que esa posición no existe, tus posiciones disponibles son de 0 a 999 , es decir 1000 posiciones.
PD: Pon tu codigo con las etiquetas GeSHi, sino cada vez que pongas unos corchetes con una i, te sale en cursiva lo demás.
La clave de todo está en que los números son consecutivos.
Un saludo.