1060 - Porumb: Difference between revisions

From Bitnami MediaWiki
Sinn Erich (talk | contribs)
Sinn Erich (talk | contribs)
Ștergerea conținutului paginii
Tag: Blanking
Line 1: Line 1:
Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp]
== Cerinţa ==
Parcul orașului este înconjurat cu un gard format din '''n''' stâlpi formați din blocuri de piatră suprapuse. La început, toți stâlpii aveau aceeași înălțime, dar în timp s-au deteriorat, pierzându-se de la unii stâlpi unele blocuri de piatră.


Primarul orașului dorește să renoveze gardul. Pentru aceasta, s-a determinat înălțimea curentă a fiecărui stâlp și se vor completa cu blocuri de piatră noi stâlpii deteriorați, astfel încât toți stâlpii să aibă aceeași înălțime.
Determinați numărul de blocuri de piatră necesare pentru renovarea gardului.
== Date de intrare ==
Programul citește de la tastatură numărul de stâlpi '''n''', iar apoi '''n''' numere naturale, separate prin spaţii, reprezentând înălțimea curentă a fiecărui stâlp.
== Date de ieșire ==
Programul afișează pe ecran numărul '''T''', reprezentând numărul de blocuri de piatră noi necesare pentru renovarea gardului.
== Restricţii şi precizări ==
1 ≤ '''n''' ≤ 1000
fiecare stâlp va avea înălțimea între 0 și 100
== Exemplul 1 ==
; Intrare
:5
:7 5 6 8 2
; Ieșire
: 12
<br>
== Rezolvare ==
<syntaxhighlight lang="python" line>
#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>

Revision as of 09:45, 1 April 2023