Mathematica, 70 69 bytes
1##&@@(Prime[BitXor[PrimePi@#+1,1]-1]^#2&)@@@FactorInteger@#/._@_->1&
Una función sin nombre que toma y devuelve un entero. Lanza un error en la entrada 1pero aún calcula el resultado correcto.
Explicación
Como de costumbre, debido a todo el azúcar sintáctico, el orden de lectura es un poco divertido. A &sobre los define el bien una función sin nombre y sus argumentos son referidos por #, #2, #3, etc.
...FactorInteger@#...
Comenzamos factorizando la entrada. Esto da una lista de pares, {prime, exponent}por ejemplo, 12da entradas {{2, 2}, {3, 1}}. Algo inconveniente, 1da {{1, 1}}.
(...&)@@@...
Esto aplica la función de la izquierda a la lista de enteros en el nivel 1, es decir, se llama a la función para cada par, pasando el primo y el exponente como argumentos separados, y luego devuelve una lista de los resultados. (Esto es similar a mapear la función sobre la lista, pero recibir dos argumentos separados es más conveniente que recibir un par).
...PrimePi@#...
Calculamos el número de primos hasta e incluyendo la entrada (primo) utilizando el incorporado PrimePi. Esto nos da el índice de la prima.
...BitXor[...+1,1]-1...
El resultado se incrementa, se XOR con 1y se vuelve a disminuir. Esto cambia 1 <-> 2, 3 <-> 4, 5 <-> 6, ..., es decir, todos los índices basados en 1. Tenga en cuenta que la entrada 1producirá 0para PrimePique luego se asigna a -1en este proceso. Nos ocuparemos de eso más tarde.
...Prime[...]^#2...
Ahora obtenemos el n º primer (donde n es el resultado del cálculo anterior), que es el primer intercambiado correctamente, y elevarlo a la potencia del primer original en la factorización de la entrada. En este punto Prime[-1]arrojará un error pero se devolverá sin evaluar. La potencia en este caso es 1para que todo el proceso hasta ahora produzca {Prime[-1]}entrada 1y una lista de potencias primarias correctas para todas las demás entradas.
1##&@@...
Luego, simplemente multiplicamos todos los poderes primarios. 1##&Es un truco de golf estándar para la Timesfunción. Consulte este consejo (sección "Secuencias de argumentos") para ver cómo funciona.
Finalmente, debemos ocuparnos de los aportes 1para los que todo lo anterior resultó Prime[-1]. Podemos arreglarlo fácilmente con una simple regla de reemplazo. Recuerda que f@xes la abreviatura de f[x]. Solo queremos hacer coincidir cualquier expresión de esa forma (ya que todos los demás resultados serán enteros, es decir, expresiones atómicas), y reemplazarlo con un 1:
.../._@_->1
Aquí, /.es la abreviatura de ReplaceAll, _@_es un patrón para cualquier cosa de la forma f[x](es decir, cualquier expresión compuesta con un solo hijo) y ->1dice "reemplazar con 1".