1740 - Suma B Numere: Difference between revisions

From Bitnami MediaWiki
mNo edit summary
Line 45: Line 45:
     return a.isdigit() and 1 < int(a) < 1_000_000 and b.isdigit() and 1 < int(b) < 25_000
     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):


def verifica_suma_consecutiva(a, b):
     if (a - (b * (b - 1) / 2)) % b == 0:
     if (a - (b * (b - 1) / 2)) % b == 0:
         print("DA")
         print("DA") #dacă condiția este îndeplinită afișăm DA, altfel NU
     else:
     else:
         print("Nu")
         print("Nu")
Line 54: Line 55:


if __name__ == '__main__':
if __name__ == '__main__':
     a = input("Introduceti numarul a: ")
     a = input("Introduceti numarul a: ") #citim numerele de la tastaură
     b = input("Introduceti numarul b: ")
     b = input("Introduceti numarul b: ")



Revision as of 12:21, 11 April 2023

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

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.

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
  1. 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>