Deje f(C) el número de enteros de 1 Cque son relativamente primos a N. Si podemos calcular f(C), el resto es fácil. Dicen que nos están permitiendo A≤x≤B. A continuación, nuestra respuesta es f(B)−f(A−1).
Tenga en cuenta que f(C) C menos el número de enteros en el intervalo de [1,C] que no relativamente primer a N.
Llame a este número g(C). Por lo f(C)=C−g(C). Atacamos el problema de encontrar g(C).
Si N es una fuente primaria de energía pa, es fácil. Los números en el intervalo de [1,C] que no relativamente primer a N son los múltiplos de p. Así
g(C)=⌊Cp⌋,
donde⌊x⌋, es habitual el "piso" de la función.
Si N tiene la primera energía de la factorización de la paqb donde p q son distintos de los números primos, a continuación, g(C) es el número de enteros en [1,C] que son divisibles por p o q o ambos. Por medio de la Inclusión/Exclusión, obtenemos
g(C)=⌊Cp⌋+⌊Cq⌋−⌊Cpq⌋.
La razón es que cuando sumamos los dos primeros términos anteriores, estamos contando dos veces todos los múltiplos de pq.
Si N tiene la primera energía de la factorización de la paqbrc, la misma idea básica de las obras. Tenemos
g(C)=⌊Cp⌋+⌊Cq⌋+⌊Cr⌋−⌊Cqr⌋−⌊Cpr⌋−⌊Cpq⌋+⌊Cpqr⌋.
Expresiones similares de trabajo para N que es más complicado en el primer poder de la factorización.
Nota: Dependiendo de los tamaños relativos de A, B, y N, hay accesos directos disponibles, la participación de Euler φ-función. Esto es porque hay φ(N) números primos relativos a N en el intervalo de [kN+1,(k+1)N]. Como usted sabe, el primer poder de la factorización de N, φ(N) está dada por una fórmula simple. Por lo tanto nuestro problema se resuelve si podemos encontrar a f(D)D<N. Para dividiendo C N nos da el número de los "trozos" de forma [kN+1,(k+1)N] hay C. Estos son tratados con el uso de la φ-función, y el resto D es tratado por la Inclusión/Exclusión.
Y además de los hechos matemáticos, uno necesita ideas de programación para producir una solución eficiente.