1740 - Suma B Numere
Cerință
Se dau 2 numere naturale, a și b. Să se determine dacă a se poate scrie că suma de b numere naturale consecutive.
Date de intrare
Se dau 2 numere naturale, a și b. Să se determine dacă a se poate scrie că suma de b numere naturale consecutive.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa pe ecran numărul mesajul DA dacă a se poate scrie că suma de b numere naturale, iar NU în caz contrar. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții de precizări
- 1 ⩽ a ⩽ 1000000
- 1 ⩽ b ⩽ 25000
Exemplul 1
- Intrare
- 12
- 3
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- DA
Exemplul 2
- Intrare
- 30
- 6
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- NU
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare_date(a, b):
return a.isdigit() and 1 < int(a) < 1_000_000 and b.isdigit() and 1 < int(b) < 25_000
- verificăm dacă există o sumă consecutivă de b , astfel încât suma numerelor să fie egală cu a
def verifica_suma_consecutiva(a, b):
if (a - (b * (b - 1) / 2)) % b == 0: print("DA") #dacă condiția este îndeplinită afișăm DA, altfel NU else: print("Nu")
if __name__ == '__main__':
a = input("Introduceti numarul a: ") #citim numerele de la tastaură b = input("Introduceti numarul b: ")
if validare_date(a, b): a, b = int(a), int(b)
print("Datele de intrare corespund restricțiilor impuse.") verifica_suma_consecutiva(a, b) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>