0481 - Prod 2 Cons
Cerință[edit | edit source]
Se citește un număr natural n. Să se stabilească dacă n poate fi scris ca produs de două 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 două numere naturale consecutive al căror produs este n, ordonate crescător și separate printr-un spațiu, dacă există sau mesajul NU EXISTA, dacă nu există două 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
- 12
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 3
- 4
Exemplul 2[edit | edit source]
- Intrare
- 101
- 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(n):
return n.isdigit() and 1 <= int(n) <= 100000
def prod_2_cons(n): #căutăm 2 numere consecutive, ca produsul acestora să fie egal cu n
found = False for i in range(1, int(n ** 0.5) + 1): #verificăm dacă produsul dinte numărul curent și cel următor sunt egale cu n if i * (i + 1) == n: print(i, i + 1, sep='\n') found = True break #dacă s-a găsit atunci bucla se oprește
if not found: #dacă nu am găsit se afișează NU EXISTA print("NU EXISTA")
if __name__ == '__main__':
n = input("Introduceți un număr: ") if validare(n): n = int(n)
print("Datele de intrare corespund restricțiilor impuse.") prod_2_cons(n) else: print("Datele de intrare nu corespund restricțiilor impuse.")</syntaxhighlight>