4215 - Alipit

From Bitnami MediaWiki
Revision as of 14:45, 12 March 2023 by Tamas Claudia (talk | contribs) (Pagină nouă: Sursă: [https://www.pbinfo.ro/probleme/4215/alipit] == 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și...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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)

  1. 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>