4273 - Prod PP: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
Dragos1234 (talk | contribs)
No edit summary
Line 1: Line 1:
Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp]
Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp]
== Cerinţa ==
== Cerinţa ==
Să se scrie un program care citește numărul natural n și determină suma '''S=1^2+2^2+ ... + n^n'''.
Se dă numărul natural nenul '''n'''. Să se determine produsul primelor '''n''' pătrate perfecte nenule.
== 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 mesajul rezultatul este '''S''', unde '''S''' reprezintă suma calculată, în caz contrar acest program va afișa "Datele introduse nu corespund cerințelor".
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."


== Restricţii şi precizări ==
== Restricţii şi precizări ==
* 0 < '''n''' ⩽ 15
* 0 < '''n''' ⩽ 10


== Exemplul 1 ==
== Exemplul 1 ==
Line 14: Line 14:
: 4
: 4
; Ieșire
; Ieșire
: Rezultatul este 288
: 576
<br>
<br>
== Exemplul 2 ==
== Exemplul 2 ==
Line 26: Line 26:
: 7
: 7
; Ieșire
; Ieșire
: Rezultatul este 873612
: 25401600
<br>
<br>
== Rezolvare ==  
== Rezolvare ==  
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
#0338
mport math
def calculeaza_suma_puterilor(n):
def patrate_perfecte(n):
     suma = 0
     patrate = []
     for i in range(1, n+1):
     i = 1
         suma += i**i
    while len(patrate) < n:
     return suma
         patrat = i * i
        patrate.append(patrat)
        i += 1
     return patrate
 
def calculeaza(numbers):
    product = 1
    for number in numbers:
        product *= number
    print(product)


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


if __name__ == '__main__':
if __name__ == '__main__':
     n = int(input("Introduceti numarul n: "))
     n = int(input("Introduceți numărul n: "))
     if validare_numar(n):
     validare_numar(n)
        S = calculeaza_suma_puterilor(n)
    squares = patrate_perfecte(n)
        print("Rezultatul este", S)
    product = calculeaza(squares)
 


</syntaxhighlight>
</syntaxhighlight>

Revision as of 14:11, 18 March 2023

Sursa: [1]

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 numărul P, reprezentând produsul primelor n pătrate perfecte nenule, în caz contrar programul va afisa "Datele introduse nu corespund cerintelor."

Restricţii şi precizări

  • 0 < n ⩽ 10

Exemplul 1

Intrare
4
Ieșire
576


Exemplul 2

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


Exemplul 3

Intrare
7
Ieșire
25401600


Rezolvare

<syntaxhighlight lang="python" line> mport math 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
   print(product)

def validare_numar(n):

   if n < 1 or n > 10:
       print("Datele introduse nu corespund cerintelor.")

if __name__ == '__main__':

   n = int(input("Introduceți numărul n: "))
   validare_numar(n)
   squares = patrate_perfecte(n)
   product = calculeaza(squares)


</syntaxhighlight>