2568 - Cub Prim
Definim prin număr cubprim, numărul natural obținut dintr-un număr prim la puterea a treia.
Cerința[edit | edit source]
Se dă un șir de N
numere naturale oarecare
.
a)
Să se afișeze M
– numărul de numere cubprim.
b)
Să se afișeze pe următoarele M
linii, descrescător după valoarea numărului cubprim de la cerința a)
, poziția pe care se află acest număr, numărul prim din care este format, precum și numărul cubprim astfel găsit.
Date de intrare[edit | edit source]
Fișierul de intrare cubprim.in
conține pe prima linie numărul N
, iar pe a doua linie N
numere naturale separate prin spații.
Date de ieșire[edit | edit source]
În fișierul cubprim.out
se afișează pe prima linie numărul de elemente găsite conform cerinței a)
.
Pe următoarele M
linii se afișază elementele găsite, separate printr-un spațiu conform cerinței b)
.
Exemplu:[edit | edit source]
cubprim.in
10 5 23 8 7 32 121 27 14 64 8
cubprim.out
3 7 3 27 3 2 8 10 2 8
Explicație[edit | edit source]
a)
Avem 3
numere care respectă cerința : 8
, 27
și 8
. Unde 8
este cubul lui 2
și 27
al lui 3
. Se observă că în șir apare și 64
care este cubul lui 4
dar numărul 4
nu este prim.
b)
Cubul cel mai mare format dintr-un număr prim este 27
, poziția lui în șir este 7
, urmat de numărul prim 3
care formează acest cub (3 * 3 * 3 = 27)
. Ultimele două linii sunt formate de numărul 8
găsit de două ori in șir, prima dată pe poziția 3
și apoi pe poziția 10
.
Încărcare soluție[edit | edit source]
Lipește codul aici[edit | edit source]
<syntaxhighlight lang="python" line="1"> a = [0] * 100005 b = [0] * 100005 c = [0] * 100005 d = [0] * 100005 n = int(input()) for i in range(1, n+1):
a[i] = int(input())
for i in range(1, n+1):
b[i] = int(input())
for i in range(1, n+1):
c[i] = int(input())
cnt = 0 i = 1 j = 1 while i <= n and j <= n:
if a[i] == b[j]: cnt += 1 d[cnt] = a[i] i += 1 j += 1 elif a[i] < b[j]: i += 1 else: j += 1
i = 1 j = 1 rez = -1 while i <= n and j <= cnt:
if c[i] == d[j]: rez = c[i] break if c[i] < d[j]: i += 1 else: j += 1
print(rez) </syntaxhighlight>