0480 - Sum 3 Cons: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
(One intermediate revision by one other user not shown) | |||
Line 5: | Line 5: | ||
Programul citește de la tastatură numărul '''n'''. | Programul citește de la tastatură numărul '''n'''. | ||
==Date de ieșire== | ==Date de ieșire== | ||
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran trei numere naturale consecutive a căror sumă este '''n''', ordonate crescător și separate prin exact un spațiu, dacă există sau mesajul NU EXISTA, dacă nu există trei astfel de numere. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." | |||
==Restricții de precizări== | ==Restricții de precizări== | ||
*1 ⩽ '''n''' ⩽ 100000 | *1 ⩽ '''n''' ⩽ 100000 | ||
Line 40: | Line 41: | ||
def verifica_suma_consecutiva(n): | def verifica_suma_consecutiva(n): #verificăm dacă există o sumă consecutivă de 3 numere întregi | ||
found = False | found = False | ||
for i in range(1, n // 3 + 1): | for i in range(1, n // 3 + 1): #verifcăm numerele, dacă acestea formează o sumă egală cu n | ||
if i + (i + 1) + (i + 2) == n: | if i + (i + 1) + (i + 2) == n: | ||
print(i, i + 1, i + 2, sep='\n') | print(i, i + 1, i + 2, sep='\n') | ||
found = True | found = True | ||
break | break | ||
if not found: | if not found: #dacă condițile nu se îndeplinesc, atunci se afișează NU EXISTA | ||
print("NU EXISTA") | print("NU EXISTA") | ||
Line 53: | Line 54: | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = input("Introduceti numarul n: ") | n = input("Introduceti numarul n: ") | ||
if validare_date(n): | if validare_date(n): | ||
n = int(n) | n = int(n) |
Latest revision as of 18:21, 22 April 2023
Cerință[edit | edit source]
Se citește un număr natural n. Să se stabilească dacă n poate fi scris ca sumă de trei numere naturale consecutive.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran trei numere naturale consecutive a căror sumă este n, ordonate crescător și separate prin exact un spațiu, dacă există sau mesajul NU EXISTA, dacă nu există trei astfel de numere. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții de precizări[edit | edit source]
- 1 ⩽ n ⩽ 100000
Exemplul 1[edit | edit source]
- Intrare
- 9
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 2
- 3
- 4
Exemplul 2[edit | edit source]
- Intrare
- 7
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- NU EXISTA
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="1"> def validare_date(n):
return n.isdigit() and 1 <= int(n) <= 100000
def verifica_suma_consecutiva(n): #verificăm dacă există o sumă consecutivă de 3 numere întregi
found = False for i in range(1, n // 3 + 1): #verifcăm numerele, dacă acestea formează o sumă egală cu n if i + (i + 1) + (i + 2) == n: print(i, i + 1, i + 2, sep='\n') found = True break if not found: #dacă condițile nu se îndeplinesc, atunci se afișează NU EXISTA print("NU EXISTA")
if __name__ == '__main__':
n = input("Introduceti numarul n: ")
if validare_date(n): n = int(n)
print("Datele de intrare corespund restricțiilor impuse.") verifica_suma_consecutiva(n) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>