1400 - E Palindrom: Difference between revisions
Pagină nouă: == Cerința == Se citește un șir cu n numere naturale. Să se verifice dacă prin rearajarea elementelor șirului se poate obține un șir palindrom. == Date de intrare == Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații. == Date de ieșire == Programul va afișa pe ecran unul dintre mesajele DA sau NU. == Restricții și precizări == : 1 ≤ n ≤ 1000 : cele n numere citite vor fi mai mici decât 10.000 == Exemplu 1 == ; I... |
No edit summary |
||
Line 24: | Line 24: | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
#1400 E Palindrom | # 1400 E Palindrom | ||
def verificare(nr_elem): | |||
if 1 <= nr_elem <= 10000: | |||
return True | |||
else: | |||
return False | |||
def e_palindrom(n): | |||
frecventa = [] | |||
for i in range(10001): | |||
frecventa.append(0) | |||
for i in range(n): | |||
numar = int(input("Introduceti un numar: ")) | |||
frecventa[numar] += 1 | |||
nr_impare = 0 | |||
for numar in frecventa: | |||
if numar % 2 == 1: | |||
nr_impare += 1 | |||
if nr_impare >= 2: | |||
print("NU") | |||
return | |||
print("DA") | |||
return | |||
if __name__ == '__main__': | |||
N = int(input("Introduceti numarul de elemente ale sirului: ")) | |||
if verificare(N): | |||
print("Datele introduse corespund restricțiilor impuse.") | |||
e_palindrom(N) | |||
else: | |||
print("Datele introduse nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> |
Revision as of 16:17, 22 March 2023
Cerința
Se citește un șir cu n numere naturale. Să se verifice dacă prin rearajarea elementelor șirului se poate obține un șir palindrom.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.
Date de ieșire
Programul va afișa pe ecran unul dintre mesajele DA sau NU.
Restricții și precizări
- 1 ≤ n ≤ 1000
- cele n numere citite vor fi mai mici decât 10.000
Exemplu 1
- Intrare
- 5
- 5 2 3 3 5
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- DA
Exemplu 2
- Intrare
- 0
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line>
- 1400 E Palindrom
def verificare(nr_elem):
if 1 <= nr_elem <= 10000: return True else: return False
def e_palindrom(n):
frecventa = [] for i in range(10001): frecventa.append(0)
for i in range(n): numar = int(input("Introduceti un numar: ")) frecventa[numar] += 1
nr_impare = 0 for numar in frecventa: if numar % 2 == 1: nr_impare += 1 if nr_impare >= 2: print("NU") return
print("DA") return
if __name__ == '__main__':
N = int(input("Introduceti numarul de elemente ale sirului: "))
if verificare(N): print("Datele introduse corespund restricțiilor impuse.") e_palindrom(N) else: print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>