0481 - Prod 2 Cons: Difference between revisions

From Bitnami MediaWiki
No edit summary
Tag: visualeditor
Line 34: Line 34:
==Rezolvare ver. 1==
==Rezolvare ver. 1==
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def main():
def validare(n):
     n = int(input("Introduceți un număr: "))
     return n.isdigit() and 1 <= int(n) <= 100000


def prod_2_cons(n):
     found = False
     found = False
     for i in range(1, int(n ** 0.5) + 1):
     for i in range(1, int(n ** 0.5) + 1):
         if i * (i + 1) == n:
         if i * (i + 1) == n:
             print("{} {}".format(i, i + 1))
             print(i, i + 1, sep='\n')
             found = True
             found = True
             break
             break
Line 46: Line 48:
     if not found:
     if not found:
         print("NU EXISTA")
         print("NU EXISTA")
</syntaxhighlight>
 
 
if __name__ == '__main__':
    n = input("Introduceți un număr: ")
    if validare(n):
        n = int(n)
 
        print("Datele de intrare corespund restricțiilor impuse.")
        prod_2_cons(n)
    else:
        print("Datele de intrare nu corespund restricțiilor impuse.")</syntaxhighlight>

Revision as of 14:25, 15 March 2023

Cerință

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

Date de intrare

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

Date de ieșire

Programul afișează pe ecran două numere naturale consecutive al căror produs este n, ordonate crescător și separate printr-un spațiu, dacă există sau mesajul NU EXISTA, dacă nu există două astfel de numere.

Restricții de precizări

  • 1 ⩽   n ⩽ 100000

Exemplul 1

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

Exemplul 2

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

Rezolvare ver. 1

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

   return n.isdigit() and 1 <= int(n) <= 100000


def prod_2_cons(n):

   found = False
   for i in range(1, int(n ** 0.5) + 1):
       if i * (i + 1) == n:
           print(i, i + 1, sep='\n')
           found = True
           break
   if not found:
       print("NU EXISTA")


if __name__ == '__main__':

   n = input("Introduceți un număr: ")
   if validare(n):
       n = int(n)
       print("Datele de intrare corespund restricțiilor impuse.")
       prod_2_cons(n)
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")</syntaxhighlight>