1740 - Suma B Numere: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 7: | Line 7: | ||
==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 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== | ==Restricții de precizări== | ||
*1 ⩽ a ⩽ 1000000 | *1 ⩽ '''a''' ⩽ 1000000 | ||
*1 ⩽ '''b''' ⩽ 25000 | |||
==Exemplul 1== | ==Exemplul 1== | ||
;Intrare | ;Intrare | ||
Line 30: | Line 31: | ||
:30 | :30 | ||
: | :6 | ||
;Ieșire | ;Ieșire | ||
Line 37: | Line 38: | ||
:NU | :NU | ||
==Rezolvare== | ==Rezolvare== | ||
===Rezolvare ver. 1=== | |||
<syntaxhighlight lang="python" line="1" start="1"> | <syntaxhighlight lang="python" line="1" start="1"> | ||
def | def validare_date(a, b): | ||
suma | 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): | |||
print( | |||
else: | if (a - (b * (b - 1) / 2)) % b == 0: | ||
print( | 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> | </syntaxhighlight> |
Latest revision as of 18:18, 22 April 2023
Cerință[edit | edit source]
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[edit | edit source]
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[edit | edit source]
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[edit | edit source]
- 1 ⩽ a ⩽ 1000000
- 1 ⩽ b ⩽ 25000
Exemplul 1[edit | edit source]
- Intrare
- 12
- 3
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- DA
Exemplul 2[edit | edit source]
- Intrare
- 30
- 6
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- NU
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<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>