0480 - Sum 3 Cons: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==Cerință== Se citește un număr natural n. Să se stabilească dacă n poate fi scris ca sumă de trei numere naturale consecutive. ==Date de intrare== Programul citește de la tastatură numărul n. ==Date de ieșire== Programul afișează pe ecran trei numere naturale consecutive a căror sumă este n, ordonate crescător și separate prin exact un spațiu, dacă există sau mesajul NU EXISTA, dacă nu există trei astfel de numere. ==Restricții de precizări== *1 &le...
 
No edit summary
Line 1: Line 1:
==Cerință==
==Cerință==
Se citește un număr natural n. Să se stabilească dacă n poate fi scris ca sumă de trei numere naturale consecutive.
Se citește un număr natural '''n'''. Să se stabilească dacă '''n''' poate fi scris ca sumă de trei numere naturale consecutive.


==Date de intrare==
==Date de intrare==
Programul citește de la tastatură numărul n.
Programul citește de la tastatură numărul '''n'''.
==Date de ieșire==
==Date de ieșire==
Programul afișează pe ecran trei numere naturale consecutive a căror sumă este n, ordonate crescător și separate prin exact un spațiu, dacă există sau mesajul NU EXISTA, dacă nu există trei astfel de numere.
Programul afișează pe ecran trei numere naturale consecutive a căror sumă este '''n''', ordonate crescător și separate prin exact un spațiu, dacă există sau mesajul NU EXISTA, dacă nu există trei astfel de numere.
==Restricții de precizări==
==Restricții de precizări==
*1 ⩽  n ⩽ 100000
*1 ⩽  '''n''' ⩽ 100000
==Exemplul 1==
==Exemplul 1==
;Intrare
;Intrare
Line 33: Line 33:
:NU EXISTA
:NU EXISTA


== Rezolvare ==
== Rezolvare ver. 1 ==
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def afiseaza_suma_trei_consecutive(n):
def main():
     for i in range(1, n // 2 + 1):
    n = int(input("Introduceți un număr: "))
         if (i + (i+1) + (i+2)) == n:
 
             print(i, i+1, i+2)
    found = False
             return
     for i in range(1, n // 3 + 1):
     print("NU EXISTA")
         if i + (i + 1) + (i + 2) == n:
             print("{} {} {}".format(i, i + 1, i + 2))
             found = True
            break
 
     if not found:
        print("NU EXISTA")


</syntaxhighlight>
</syntaxhighlight>

Revision as of 11:30, 15 March 2023

Cerință

Se citește un număr natural n. Să se stabilească dacă n poate fi scris ca sumă de trei numere naturale consecutive.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul afișează pe ecran trei numere naturale consecutive a căror sumă este n, ordonate crescător și separate prin exact un spațiu, dacă există sau mesajul NU EXISTA, dacă nu există trei astfel de numere.

Restricții de precizări

  • 1 ⩽  n ⩽ 100000

Exemplul 1

Intrare
9
Ieșire
Datele introduse corespund restricțiilor impuse.
2
3
4

Exemplul 2

Intrare
7
Ieșire
Datele introduse corespund restricțiilor impuse.
NU EXISTA

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1"> def main():

   n = int(input("Introduceți un număr: "))
   found = False
   for i in range(1, n // 3 + 1):
       if i + (i + 1) + (i + 2) == n:
           print("{} {} {}".format(i, i + 1, i + 2))
           found = True
           break
   if not found:
       print("NU EXISTA")

</syntaxhighlight>