F013B. Codificació de Gödel

[image]

Considereu la seqüència infinita de nombres primers: p₀ = 2, p₁ = 3,
p₂ = 5, etcètera. Per a cada nombre s de n xifres s = s_(o)s₁…s_(n − 1),
la seva codificació de Gödel es defineix com
∏_(0 ≤ i < n)p_(i)^(s_(i)) = p₀^(s₀) ⋅ p₁^(s₁)…p_(n − 2)^(s_(n − 2)) ⋅ p_(n − 1)^(s_(n − 1))
Per exemple, la codificació de Gödel de 4031 és
2⁴ ⋅ 3⁰ ⋅ 5³ ⋅ 7¹ = 16 ⋅ 1 ⋅ 125 ⋅ 7 = 14000.

Feu un programa que llegeixi nombres i escrigui la seva codificació de
Gödel.

Entrada

L’entrada consisteix en diversos nombres, amb possibles zeros a
l’esquerra. Els nombres primers necessaris per a les codificacions dels
nombres donats són tots més petits que 4 ⋅ 10⁶.

Sortida

Per a cada nombre de l’entrada, cal escriure una línia amb aquell nombre
i la seva codificació, seguint el format de l’exemple. Suposeu que les
codificacions no tindran mai sobreeiximents.

Observacions

Alguns dels nombres donats seran molt llargs, o tindran zeros a
l’esquerra. Feu servir @string@s per llegir i tractar aquests nombres. A
més, el vostre programa ha de ser eficient. Useu el garbell
d’Eratòstenes per calcular tots els primers fins a 4 ⋅ 10⁶ al principi
del programa.

Informació del problema

Autoria: Professorat de P1

Generació: 2026-01-25T11:04:26.729Z

© Jutge.org, 2006–2026.
https://jutge.org
