Palíndrom més llarg

Sigui n un natural, sigui b una base qualsevol, i sigui
d_(m − 1)d_(m − 2)…d₁d₀ la representació de n en base b. Calculeu la
subseqüència consecutiva d_(i)…d_(j) més llarga que és un palíndrom
(és a dir, un cap-i-cua).

Per exemple, per a n = 5328486 en base b = 10, el palíndrom més llarg és
848, identificat amb i = 3 i j = 1. Com un altre exemple, per a
n = 637402 en base b = 4, que es representa 2123213122, els palíndroms
més llargs són 12321 i 21312, identificats respectivament amb i = 8 i
j = 4, i amb i = 5 i j = 1.

Escriviu un procediment

        void palindrom_mes_llarg(int n, int b, int& i, int& j);

que deixi a @i@ i @j@ les posicions del palíndrom més llarg. En cas
d’empat, cal retornar el palíndrom més a la dreta (o sigui, amb la @i@ i
la @j@ més petites).

Precondició

Es compleix 1≤ @n@  ≤ 10⁷, 2≤ @b@  ≤ 100, i que @n@ expressat en base
@b@ no té cap dígit que sigui 0.

Observació

Només cal enviar el procediment demanat; el programa principal serà
ignorat.

Observació

No podeu usar vectors o similars.

Informació del problema

Autoria: Salvador Roura

Generació: 2026-01-25T11:14:07.810Z

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