Hola de nuevo. Tengo un problema al tratar de hacer un programa que calcule la funcion totient (o phi) de Euler hasta cierto número (necesito entre 10000 y 100000 particularmente) utilizando esta fórmula:
Si \( p_1,p_2,...,p_k \) son todos los divisores primos de n entonces:
\( \phi(n) = n*\displaystyle\prod_{i=1}^{k}{(1-\displaystyle\frac{1}{p_i})} \) (no considero al 1 como primo)
Y el problema que tengo es que quiero hacer un arreglo que guarde un 1 o un 0 en cada posición, en el caso en que el número de esa posición sea primo (es decir array[3] = 1, array[4]= 0, array[5] = 1, etc...); pero si defino este arreglo adentro de la funcion phi, lo va a tener que calcular cada vez que quiera usar la función y esa no es la idea. Mi idea es tenerlo en algún lugar del programa que sea "accesible" a cualquier función, pero no sé como hacerlo :S. Lo trate de definir en la función main pero no me deja llamarlo desde la función phi...
¿Se entiende más o menos lo que pido

?
EDIT: Me olvidé de aclarar que el lenguaje es C 