1565 - N Zero: Difference between revisions

From Bitnami MediaWiki
Sinn Erich (talk | contribs)
Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp] == Cerinţa == Se dă numărul natural nenul '''n'''. Să se determine produsul primelor '''n''' pătrate perfecte nenule. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == Date de ieșire == Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul '''P''' , reprezentând produsul primelor '''n''' pătrate perfecte nenule, în caz contrar prog...
 
Sinn Erich (talk | contribs)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp]
Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp]
== Cerinţa ==
== Cerinţa ==
Se dă numărul natural nenul '''n'''. Să se determine produsul primelor '''n''' pătrate perfecte nenule.
Se dă un număr '''n'''. Afișați numărul '''n * 10a'''.
 
== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură numărul '''n'''.
Programul citește de la tastatură numărul '''n''', apoi numărul '''a'''.
 
== Date de ieșire ==  
== Date de ieșire ==  
Programul va afișa pe ecran,  mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul '''P''' , reprezentând produsul primelor '''n''' pătrate perfecte nenule, în caz contrar programul va afișa pe o linie noua mesajul "Datele introduse nu corespund cerintelor."
Programul va afișa pe ecran numărul '''p''', acesta fiind '''n * 10a'''.


Dacă datele sunt introduse corect, programul va rula.
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi pe un rând nou afișează numărul n * 10a.


În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: ''' "Datele nu corespund restricțiilor impuse.".'''
În caz contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse."


== Restricţii şi precizări ==
== Restricţii şi precizări ==
* 0 < '''n''' ⩽ 10
1 ≤ '''n''' ≤ 1000
 
0 '''a''' ≤ 5


== Exemplul 1 ==
== Exemplul 1 ==
; Intrare
; Datele de intrare
:Introduceti n:
: 5
:Introduceti a:
: 4
: 4
; Ieșire
; Datele de ieșire
: Datele corespund cerințelor.
: Datele sunt introduse corect.
: 576
: 50000
<br>
<br>


== Rezolvare ==
<syntaxhighlight lang="python" line>
#1565
def validate_input(n, a):
    if 1 <= n <= 1000 and 0 <= a <= 5:
        return True
    else:
        return False
def calculate_p(n, a):
    return n * (10 ** a)


def display_result(p):
    if p is not None:
        print("Datele sunt introduse corect.")
        print(p)
    else:
        print("Datele nu corespund restricțiilor impuse.")


== Rezolvare ==
if __name__ == '__main__':
<syntaxhighlight lang="python" line>
    n = int(input("Introduceti n: "))
#4273
     a = int(input("Introduceti a: "))
def patrate_perfecte(n):
 
     patrate = []
     if validate_input(n, a):
    i = 1
         p = calculate_p(n, a)
     while len(patrate) < n:
         display_result(p)
         patrat = i * i
    else:
         patrate.append(patrat)
         print("Datele nu corespund restricțiilor impuse.")
         i += 1
    return patrate


</syntaxhighlight>


def calculeaza(numbers):
'''Explicatie cod:'''
    product = 1
    for number in numbers:
        product *= number
    return product


Acest cod implementează o funcție care primește un număr întreg `n` și un număr întreg `a` și calculează și afișează un număr întreg `p` dat de produsul dintre `n` și 10 ridicat la puterea `a`.


def validare_numar(n):
Funcția `validate_input(n, a)` verifică dacă `n` este între 1 și 1000 și dacă `a` este între 0 și 5 și returnează `True` dacă aceste condiții sunt îndeplinite, în caz contrar, returnează `False`.
    if n < 1 or n > 10:
        return False
    return True


Funcția `calculate_p(n, a)` primește două argumente `n` și `a` și returnează produsul dintre `n` și 10 ridicat la puterea `a`.


if __name__ == '__main__':
Funcția `display_result(p)` afișează mesajul "Datele sunt introduse corect." urmat de valoarea `p` dacă `p` este diferit de `None`. Dacă `p` este `None`, funcția afișează mesajul "Datele nu corespund restricțiilor impuse.".
    n = int(input("Introduceți numărul n: "))
    if not validare_numar(n):
        print("Datele introduse nu corespund cerintelor.")
    else:
        squares = patrate_perfecte(n)
        product = calculeaza(squares)
        print("Datele introduse corespund cerintelor.")
        print(product)


În funcția principală (`main`), se citesc valorile `n` și `a` de la utilizator, se validează aceste date folosind funcția `validate_input` și, dacă datele sunt corecte, se calculează `p` folosind funcția `calculate_p` și se afișează rezultatul utilizând funcția `display_result`. Dacă datele nu sunt corecte, se afișează mesajul "Datele nu corespund restricțiilor impuse.".


</syntaxhighlight>
Acest cod pare să fie simplu și nu implică nicio logică complexă sau operații costisitoare.

Latest revision as of 09:25, 29 April 2023

Sursa: [1]

Cerinţa[edit | edit source]

Se dă un număr n. Afișați numărul n * 10a.

Date de intrare[edit | edit source]

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

Date de ieșire[edit | edit source]

Programul va afișa pe ecran numărul p, acesta fiind n * 10a.

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi pe un rând nou afișează numărul n * 10a.

În caz contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse."

Restricţii şi precizări[edit | edit source]

1 ≤ n ≤ 1000

0 ≤ a ≤ 5

Exemplul 1[edit | edit source]

Datele de intrare
Introduceti n:
5
Introduceti a:
4
Datele de ieșire
Datele sunt introduse corect.
50000


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 1565

def validate_input(n, a):

   if 1 <= n <= 1000 and 0 <= a <= 5:
       return True
   else:
       return False

def calculate_p(n, a):

   return n * (10 ** a)

def display_result(p):

   if p is not None:
       print("Datele sunt introduse corect.")
       print(p)
   else:
       print("Datele nu corespund restricțiilor impuse.")

if __name__ == '__main__':

   n = int(input("Introduceti n: "))
   a = int(input("Introduceti a: "))
   if validate_input(n, a):
       p = calculate_p(n, a)
       display_result(p)
   else:
       print("Datele nu corespund restricțiilor impuse.")

</syntaxhighlight>

Explicatie cod:

Acest cod implementează o funcție care primește un număr întreg `n` și un număr întreg `a` și calculează și afișează un număr întreg `p` dat de produsul dintre `n` și 10 ridicat la puterea `a`.

Funcția `validate_input(n, a)` verifică dacă `n` este între 1 și 1000 și dacă `a` este între 0 și 5 și returnează `True` dacă aceste condiții sunt îndeplinite, în caz contrar, returnează `False`.

Funcția `calculate_p(n, a)` primește două argumente `n` și `a` și returnează produsul dintre `n` și 10 ridicat la puterea `a`.

Funcția `display_result(p)` afișează mesajul "Datele sunt introduse corect." urmat de valoarea `p` dacă `p` este diferit de `None`. Dacă `p` este `None`, funcția afișează mesajul "Datele nu corespund restricțiilor impuse.".

În funcția principală (`main`), se citesc valorile `n` și `a` de la utilizator, se validează aceste date folosind funcția `validate_input` și, dacă datele sunt corecte, se calculează `p` folosind funcția `calculate_p` și se afișează rezultatul utilizând funcția `display_result`. Dacă datele nu sunt corecte, se afișează mesajul "Datele nu corespund restricțiilor impuse.".

Acest cod pare să fie simplu și nu implică nicio logică complexă sau operații costisitoare.