2803 - Elim P: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == Cerinţa == Se citește un număr '''p''' și un șir de caractere '''s''', șirul conține cel mult '''255''' de litere mici ale alfabetului englez. Să se afișeze toate șirurile rezultate din eliminarea, pe rând, a fiecărei secvențe de '''p''' caractere din '''s''' == Date de intrare == Programul citește de la tastatură numărul '''p''' pe prima linie și șirul '''s''' pe cea de-a doua linie. == Date de ieșire == Programul va afișa pe ecran pe câte o linie, to...
 
Line 8: Line 8:
* 1 ⩽ p ⩽ 255
* 1 ⩽ p ⩽ 255
* eliminările se fac de la stânga la dreapta
* eliminările se fac de la stânga la dreapta
== Exemplu 1 ==
== Exemplul 1 ==
; Intrare
; Intrare
  3
  3
Line 18: Line 18:
  ad
  ad
<br>
<br>
== Exemplu 2 ==
== Exemplu 2 ==
; Intrare
; Intrare

Revision as of 17:16, 25 December 2023

Cerinţa

Se citește un număr p și un șir de caractere s, șirul conține cel mult 255 de litere mici ale alfabetului englez. Să se afișeze toate șirurile rezultate din eliminarea, pe rând, a fiecărei secvențe de p caractere din s

Date de intrare

Programul citește de la tastatură numărul p pe prima linie și șirul s pe cea de-a doua linie.

Date de ieșire

Programul va afișa pe ecran pe câte o linie, toate șirurile rezultate din eliminarea, pe rând, a fiecărei secvență de p caractere din s.

Restricţii şi precizări

  • 1 ⩽ p ⩽ 255
  • eliminările se fac de la stânga la dreapta

Exemplul 1

Intrare
3
adina
Iesire
Datele de intrare corespund restrictiilor impuse
na
aa
ad


Exemplu 2

Intrare
-1
adina
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare

<syntaxhighlight lang="python" line> def main():

   # Citirea numărului și a șirului de caractere de la tastatură
   p = int(input().strip())
   sir = input().strip()
   # Verifică dacă datele de intrare respectă restricțiile
   if p < 1 or p > 255 or len(sir) > 255:
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   if any(not caracter.islower() for caracter in sir):
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   print("Datele de intrare corespund restrictiilor impuse")
   # Afișarea șirurilor rezultate din eliminarea, pe rând, a fiecărei secvențe de p caractere din s
   for i in range(len(sir) - p + 1):
       print(sir[:i] + sir[i+p:])

if __name__ == "__main__":

   main()

</syntaxhighlight>