1469 - Concurs Info

De la Universitas MediaWiki

Sursa: [1]

Cerinţa

Ana şi Andreea s-au provocat la un concurs de “Info”. Fiecare îi dă celeilalte o problemă de informatică să o rezolve, în final stabilindu-se cîştigătoarea. Pentru această întrecere ele au la dispoziţie trei numere, a, b şi c cu care să formuleze câte două întrebări. Iată care sunt întrebările: Ana: -Care sunt cele mai mari trei cifre ale lui b? Andreea: -Cât este suma numerelor divizibile cu c, care sunt cuprinse strict între a şi b? Ana: -Câte numere cuprinse strict între a şi b au în scrierea lor binară exact trei cifre egale cu 1? Andreea: -Află două numere diferite d şi e, cu d < e şi d minim, cuprinse strict între a şi b, pentru care diferenţa dintre produsul şi suma lor este egală cu b. După acest maraton informatic, Ana şi Andreea speră să obţină fiecare câte 100 de puncte, bineînţeles cu ajutorul vostru. Succes!

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 programul va afișa pe o linie noua mesajul "Datele introduse nu corespund cerintelor."

Restricţii şi precizări

  • 0 < n ⩽ 10

Exemplul 1

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



Rezolvare

#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)