1752 - nr aparitii rec
Cerința
Scrieţi în limbajul Python definiţia completă a funcţiei recursive nr_aparitii cu următorul antet:
unsigned nr_aparitii(char *sir, char *secventa) ce returnează numărul de apariţii ale şirului de caractere secventa în şirul sir.
Date de intrare
Se va introduce de la tastatură un număr natural care va fi transmis ca perimetru
Date de ieșire
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.".
Restricții și precizări
cele două şiruri nu conţin spaţii şi au cel mult 1000 de caractere biblioteca cstring (string.h) este deja inclusă la verificare
Exemplu
nr_aparitii("maimuta_samurai", "mu") = 2
Rezolvare
def nr_aparitii(sir, secventa): # Verifică dacă datele de intrare corespund restricțiilor impuse if len(sir) > 1000 or len(secventa) > 1000: print("Datele de intrare nu corespund restricțiilor impuse.") return None # Caz de bază if len(sir) < len(secventa): return 0 # Cazul general if sir[:len(secventa)] == secventa: return 1 + nr_aparitii(sir[len(secventa):], secventa) else: return nr_aparitii(sir[1:], secventa) # Exemplu de utilizare print(nr_aparitii("maimuta_samurai", "mu")) # afișează 2