4273 - Prod PP: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
Dragos1234 (talk | contribs)
 
(12 intermediate revisions by 2 users not shown)
Line 5: Line 5:
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 va afișa pe ecran numărul '''P''', reprezentând produsul primelor '''n''' pătrate perfecte nenule, în caz contrar programul va afisa "Datele introduse nu corespund cerintelor."
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."


== Restricţii şi precizări ==
== Restricţii şi precizări ==
Line 14: Line 14:
: 4
: 4
; Ieșire
; Ieșire
: Datele corespund cerințelor.
: 576
: 576
<br>
<br>
== Exemplul 2 ==
== Exemplul 2 ==
; Intrare
; Intrare
Line 26: Line 28:
: 7
: 7
; Ieșire
; Ieșire
: Datele corespund cerințelor.
: 25401600
: 25401600
<br>
<br>
== Rezolvare ==  
== Rezolvare ==  
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
#4273
#4273
import math
def patrate_perfecte(n):
def patrate_perfecte(n):
     patrate = []
     patrate = []
Line 40: Line 43:
         i += 1
         i += 1
     return patrate
     return patrate


def calculeaza(numbers):
def calculeaza(numbers):
Line 45: Line 49:
     for number in numbers:
     for number in numbers:
         product *= number
         product *= number
     print(product)
     return product
 


def validare_numar(n):
def validare_numar(n):
     if n < 1 or n > 10:
     if n < 1 or n > 10:
         print("Datele introduse nu corespund cerintelor.")
         return False
    return True
 


if __name__ == '__main__':
if __name__ == '__main__':
     n = int(input("Introduceți numărul n: "))
     n = int(input("Introduceți numărul n: "))
     validare_numar(n)
     if not validare_numar(n):
     squares = patrate_perfecte(n)
        print("Datele introduse nu corespund cerintelor.")
    product = calculeaza(squares)
     else:
    print("Datele introduse corespund cerintelor.")
        squares = patrate_perfecte(n)
        product = calculeaza(squares)
        print("Datele introduse corespund cerintelor.")
        print(product)
 


</syntaxhighlight>
</syntaxhighlight>
== Explicatie rezolvare ==
Acest program primește de la utilizator un număr întreg n și calculează produsul primelor n pătrate perfecte.
Funcția patrate_perfecte(n) primește n ca parametru și întoarce o listă de n pătrate perfecte. Funcția utilizează un loop while pentru a genera pătrate perfecte, adăugându-le într-o listă numită patrate.
Funcția calculeaza(numbers) primește o listă de numere și calculează produsul lor folosind un loop for.
Funcția validare_numar(n) primește n ca parametru și verifică dacă numărul este între 1 și 10.
În funcția principală (if __name__ == '__main__':), programul începe prin citirea inputului de la utilizator și apoi verifică dacă numărul introdus este valid prin intermediul funcției validare_numar(n). Dacă inputul este invalid, programul afișează un mesaj de eroare. Dacă inputul este valid, programul apelează funcția patrate_perfecte(n) și calculeaza(numbers) pentru a calcula produsul pătratelor perfecte. Afișează apoi mesajul "Datele introduse corespund cerințelor" și produsul calculat.

Latest revision as of 13:01, 9 April 2023

Sursa: [1]

Cerinţa[edit | edit source]

Se dă numărul natural nenul n. Să se determine produsul primelor n pătrate perfecte nenule.

Date de intrare[edit | edit source]

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

Date de ieșire[edit | edit source]

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

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

  • 0 < n ⩽ 10

Exemplul 1[edit | edit source]

Intrare
4
Ieșire
Datele corespund cerințelor.
576


Exemplul 2[edit | edit source]

Intrare
16
Ieșire
Datele introduse nu corespund cerințelor.


Exemplul 3[edit | edit source]

Intrare
7
Ieșire
Datele corespund cerințelor.
25401600


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 4273

def patrate_perfecte(n):

   patrate = []
   i = 1
   while len(patrate) < n:
       patrat = i * i
       patrate.append(patrat)
       i += 1
   return patrate


def calculeaza(numbers):

   product = 1
   for number in numbers:
       product *= number
   return product


def validare_numar(n):

   if n < 1 or n > 10:
       return False
   return True


if __name__ == '__main__':

   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)


</syntaxhighlight>

Explicatie rezolvare[edit | edit source]

Acest program primește de la utilizator un număr întreg n și calculează produsul primelor n pătrate perfecte.

Funcția patrate_perfecte(n) primește n ca parametru și întoarce o listă de n pătrate perfecte. Funcția utilizează un loop while pentru a genera pătrate perfecte, adăugându-le într-o listă numită patrate.

Funcția calculeaza(numbers) primește o listă de numere și calculează produsul lor folosind un loop for.

Funcția validare_numar(n) primește n ca parametru și verifică dacă numărul este între 1 și 10.

În funcția principală (if __name__ == '__main__':), programul începe prin citirea inputului de la utilizator și apoi verifică dacă numărul introdus este valid prin intermediul funcției validare_numar(n). Dacă inputul este invalid, programul afișează un mesaj de eroare. Dacă inputul este valid, programul apelează funcția patrate_perfecte(n) și calculeaza(numbers) pentru a calcula produsul pătratelor perfecte. Afișează apoi mesajul "Datele introduse corespund cerințelor" și produsul calculat.