1573 - Verif Progresie: Difference between revisions
Adina Timiș (talk | contribs) Pagină nouă: ==Cerința== Se dau n valori naturale. Stabiliți dacă există o progresie aritmetică cu rația număr natural mai mare decât 1 din care să facă parte toate aceste valori. ==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 mesajul DA , dacă există progresia aritmetică cerută, respectiv NU în caz contrar. ==Restricții și precizări== *1 ≤ n ≤ 25... |
Adina Timiș (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 18: | Line 18: | ||
==Exemplul 2== | ==Exemplul 2== | ||
;Intrare | ;Intrare | ||
: | :0 | ||
: | :0 | ||
;Ieșire | ;Ieșire | ||
:Datele de intrare nu corespund restricțiilor impuse. | :Datele de intrare nu corespund restricțiilor impuse. | ||
: | : | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line=""> | <syntaxhighlight lang="python" line="1"> | ||
#1573 - Verif Progresie | #1573 - Verif Progresie | ||
def progresie_aritmetica(numere): | def progresie_aritmetica(numere): # definim o functie ce cauta o progresie progresie_aritmetica | ||
# formata din trei elemente intr-o lista de numere | |||
n = len(numere) | n = len(numere) | ||
if n < 3: | if n < 3: | ||
Line 38: | Line 39: | ||
if __name__ == "__main__": | if __name__ == "__main__": | ||
n = int(input("Introduceți numărul de valori: ")) | n = int(input("Introduceți numărul de valori: ")) # citim numărul de valori și lista de numere | ||
# de la tastatură | |||
numere = list(map(int, input("Introduceți valorile, separate prin spațiu: ").split())) | numere = list(map(int, input("Introduceți valorile, separate prin spațiu: ").split())) | ||
if n < 1 or n > 2500 or max(numere) > 2000000000: | if n < 1 or n > 2500 or max(numere) > 2000000000: # verificarea restrictiilor | ||
print("Datele de intrare nu corespund restricțiilor impuse.") | print("Datele de intrare nu corespund restricțiilor impuse.") | ||
if progresie_aritmetica(numere): | if progresie_aritmetica(numere): # apelam functia progresie_aritmetica si afisam DA daca | ||
print(" | # exista o progresie aritmetica si NU in caz contrar | ||
print("NU") | |||
else: | else: | ||
print("Datele de intrare corespund restricțiilor impuse.") | print("Datele de intrare corespund restricțiilor impuse.") | ||
print(" | print("DA") | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 22:13, 28 April 2023
Cerința[edit | edit source]
Se dau n valori naturale. Stabiliți dacă există o progresie aritmetică cu rația număr natural mai mare decât 1 din care să facă parte toate aceste valori.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran mesajul DA , dacă există progresia aritmetică cerută, respectiv NU în caz contrar.
Restricții și precizări[edit | edit source]
- 1 ≤ n ≤ 2500;
- cele n numere citite vor fi mai mici decât 2.000.000.000;
Exemplul 1[edit | edit source]
- Intrare
- 6
- 2 10 12 16 20 18
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- DA
Exemplul 2[edit | edit source]
- Intrare
- 0
- 0
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1">
- 1573 - Verif Progresie
def progresie_aritmetica(numere): # definim o functie ce cauta o progresie progresie_aritmetica
# formata din trei elemente intr-o lista de numere n = len(numere) if n < 3: return None for i in range(n): for j in range(i+1, n): for k in range(j+1, n): if numere[i] + numere[k] == 2 * numere[j]: return [numere[i], numere[j], numere[k]] return None
if __name__ == "__main__":
n = int(input("Introduceți numărul de valori: ")) # citim numărul de valori și lista de numere # de la tastatură numere = list(map(int, input("Introduceți valorile, separate prin spațiu: ").split())) if n < 1 or n > 2500 or max(numere) > 2000000000: # verificarea restrictiilor print("Datele de intrare nu corespund restricțiilor impuse.") if progresie_aritmetica(numere): # apelam functia progresie_aritmetica si afisam DA daca # exista o progresie aritmetica si NU in caz contrar print("NU") else: print("Datele de intrare corespund restricțiilor impuse.") print("DA")
</syntaxhighlight>