C3-IC y la hipótesis (CIIC 2021)


Submit solution


Points: 100 (partial)
Time limit: 5.0s
Memory limit: 512M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Prolog, Python, Swift, VB

A C-3IC se le ha ocurrido una nueva hipótesis, él cree que para todo entero positivo n, y todo par de enteros (i,j), tal que 1ijn se cumple que gcd(i,n)gcd(j,n)=gcd(ij,n).

C-3IC corrió hacia su PC para probar si su hipótesis era verdadera probando muchos casos, rápidamente notó que para un entero n su hipótesis era válida solo en algunos pares (i,j), decepcionado por no descubrir un nuevo teorema, quiere analizar las propiedades de los pares de números que cumplen su hipótesis, para lo cual le pide que resuelva la siguiente tarea:

Dado un entero positivo n, cuente el número de pares de enteros (i,j) tales que 1ijn y gcd(i,n)gcd(j,n)=gcd(ij,n).

Habrá T(1T106) casos de prueba, en cada uno se le dará un entero n(1n4106).

Nota: gcd(a,b) significa el máximo común divisor entre a y b.

Subtareas:

  • Subtarea 1: 1T40, 1n40. ( 5 puntos )

  • Subtarea 2: 1T100, 1n105, se garantiza que el divisor más pequeño de n es mayor que 100. (19 puntos)

  • Subtarea 3: 1T104, 1n105, se garantiza que existe un primo p, tal que pk=n para un entero positivo k. (22 puntos)

  • Subtarea 4: 1T105, 1n105. (25 puntos)

  • Subtarea 5: 1T106, 1n4106. (29 puntos)

Formato de Entrada:

La primera línea contendrá la cantidad de casos T a procesar.

A partir de ahí, seguirán T líneas, cada una con un entero n.

Formato de Salida:

Debe imprimir T líneas, cada una con un entero, la solución del problema para cada caso.

Ejemplo de entrada:

Copy
6
1
2
3
4
5
10000

Ejemplo de salida:

Copy
1
2
5
8
14
46047940

Comments

There are no comments at the moment.