2950 - Adun
Sursa: [1]
Cerinţa
Ionel a primit la ora de matematica o problema interesantă. El are doua numere naturale X și Y și trebuie să determine un număr natural K astfel încât cel mai mic multiplu comun al numerelor X + K și Y + K să fie minim
Determinați valoarea lui K astfel încât cel mai mic multiplu comun al numerelor X + K și Y + K să fie minim.
Date de intrare
Programul citește de la tastatură numerele naturale X și Y separate cu un spațiu.
Date de ieșire
Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul P , reprezentând produsul primelor n pătrate perfecte nenule, în caz contrar programul va afișa pe o linie noua mesajul "Datele introduse nu corespund cerintelor."
Dacă datele sunt introduse corect, programul va rula.
În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări
- 0 < n ⩽ 10
Exemplul 1
- Intrare
- 4
- Ieșire
- Datele corespund cerințelor.
- 576
Rezolvare
<syntaxhighlight lang="python" line>
- 4273
def patrate_perfecte(n):
patrate = []
i = 1
while len(patrate) < n:
patrat = i * i
patrate.append(patrat)
i += 1
return patrate
def calculeaza(numbers):
product = 1
for number in numbers:
product *= number
return product
def validare_numar(n):
if n < 1 or n > 10:
return False
return True
if __name__ == '__main__':
n = int(input("Introduceți numărul n: "))
if not validare_numar(n):
print("Datele introduse nu corespund cerintelor.")
else:
squares = patrate_perfecte(n)
product = calculeaza(squares)
print("Datele introduse corespund cerintelor.")
print(product)
</syntaxhighlight>