4215 - Alipit
Sursă: [1]
Cerinţa
Să se verifice dacă un număr natural numar este “alipit”.
Date de intrare
Programul citește de la tastatură numărul numar.
Date de ieşire
Programul va afișa pe ecran mesajul DA dacă numar este “alipit”, sau mesajul NU în caz contrar .
Restricții și precizări
- 1 ⩽ numar ⩽100.000.000.000
Exemplu
- Intrare
- 1212
- Ieșire
- DA
Rezolvare
<syntaxhighlight lang="python" line>
numar = str(input().strip()) lungime = len(numar)
- parcurgem toate lungimile posibile pentru un șir repetat
for lungime_șir in range(1, lungime // 2 + 1):
# extragem șirul repetat subșir = numar[:lungime_șir] # verificam daca șirul se poate repeta pentru a forma numarul dat if subșir * (lungime // lungime_șir) + subșir[:lungime % lungime_șir] == numar: print("DA") break
else:
print("NU")
</syntaxhighlight>