2936 - Amprenta: Diferență între versiuni

De la Universitas MediaWiki
Linia 8: Linia 8:


== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură numărul '''n'''.
Programul conține pe primul rând numărul '''T''' reprezentând tipul cerinței.
Dacă '''T==1''', atunci pe al doilea rând se află scris un număr natural '''N'''.
Dacă '''T==2''', atunci pe al doilea rând se află scrise numerele naturale '''P, Q şi C''', separate prin câte un spațiu.
 
== 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,  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."

Versiunea de la data 2 aprilie 2023 21:58

Sursa: [1]

Cerinţa

Pentru orice număr natural N se asociază o cifră din mulțimea {0,1,2,3,4,5}, numită amprentă, astfel: se calculează diferența pozitivă a sumelor cifrelor de pe pozițiile pare, respectiv impare; dacă această diferență este mai mică decât 10 atunci algoritmul se oprește, în caz contrar algoritmul se aplică în continuare, repetat, asupra diferenței pozitive, până când se va obține o cifră mai mică decât 10, iar dacă cifra este mai mare decât 5, atunci cifrele 6,7,8,9 se vor înlocui respectiv cu 5,4,3,2. De exemplu pentru numărul N = 90 amprenta este 2, iar pentru N = 91909091 amprenta este 1.

1) Se dă un număr natural N şi se cere determinarea amprentei acestuia. 2) Se dau două numere naturale P, Q şi o cifră C din {0,1,2,3,4,5} şi se cere determinarea numărului de valori dintre P şi Q, inclusiv, care au amprenta egală cu C.

Date de intrare

Programul conține pe primul rând numărul T reprezentând tipul cerinței. Dacă T==1, atunci pe al doilea rând se află scris un număr natural N. Dacă T==2, atunci pe al doilea rând se află scrise numerele naturale P, Q şi C, separate prin câte un spațiu.

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

Dacă datele sunt introduse corect, programul va rula.

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

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)