1740 - Suma B Numere: Difference between revisions

From Bitnami MediaWiki
Line 41: Line 41:
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def verifica_suma_consecutiva(a, b):
def validare_date(numar1, numar2):
     suma = 0
    return numar1.isdigit() and 1 < int(numar1) < 1_000_000 and numar2.isdigit() and 1 < int(numar2) < 25_000
    for i in range(1, b + 1):
 
         suma += i
 
     if suma == a:
def verifica_suma_consecutiva(numar1, numar2):
         print(”DA”)
     if (numar1 - (numar2 * (numar2 - 1) / 2)) % numar2 == 0:
         else:
        print("DA")
         print(”NU”)
    else:
         print("Nu")
 
 
if __name__ == '__main__':
     numar1 = input("Introduceti numarul 1: ")
    numar2 = input("Introduceti numarul 2: ")
 
    if validare_date(numar1, numar2):
        numar1, numar2 = int(numar1), int(numar2)
 
         print("Datele de intrare corespund restricțiilor impuse.")
         verifica_suma_consecutiva(numar1, numar2)
    else:
         print("Datele de intrare nu corespund restricțiilor impuse.")
 
 
</syntaxhighlight>
</syntaxhighlight>

Revision as of 16:58, 14 March 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

<syntaxhighlight lang="python" line="1" start="1"> def validare_date(numar1, numar2):

   return numar1.isdigit() and 1 < int(numar1) < 1_000_000 and numar2.isdigit() and 1 < int(numar2) < 25_000


def verifica_suma_consecutiva(numar1, numar2):

   if (numar1 - (numar2 * (numar2 - 1) / 2)) % numar2 == 0:
       print("DA")
   else:
       print("Nu")


if __name__ == '__main__':

   numar1 = input("Introduceti numarul 1: ")
   numar2 = input("Introduceti numarul 2: ")
   if validare_date(numar1, numar2):
       numar1, numar2 = int(numar1), int(numar2)
       print("Datele de intrare corespund restricțiilor impuse.")
       verifica_suma_consecutiva(numar1, numar2)
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")


</syntaxhighlight>