Definizione di numeri perfetti
Un numero n si dice perfetto se la somma dei suoi divisori (compreso se stesso) è uguale a 2n.
Per esempio:
12 = 1 + 2 + 3 + 6;
56 = 1 + 2 + 4 + 7 + 14 + 28;
992 = 1 + 2 + 4 + 8 + … + 496;
dunque 6, 28, e 496 sono numeri perfetti.
👉 I numeri perfetti
ESERCIZIO
def getDivisors(n): """ input: intero positivo 'n' >= 1 restituisce tutti i divisori di n (compreso 1 ed 'n') """ assert isinstance(n, int) and (n >= 1), "'n' must been int and >= 1" ans = [] for divisor in range(1, n + 1): if n % divisor == 0: ans.append(divisor) assert ans[0] == 1 and ans[len(ans) - 1] == n, "Errore nella funzione" return ansdef isPerfectNumber(number): """ input: intero positivo 'number' > 1 Restituisce true se 'number' se number è perfetto altrimenti false. """ assert isinstance(number, int) and ( number > 1 ), "'number' deve essere un intero >= 1" divisors = getDivisors(number) assert ( isinstance(divisors, list) and (divisors[0] == 1) and (divisors[len(divisors) - 1] == number) ), "errore nella funzione " # sommiamo tutti i divisori fino a 'number' (escluso), quindi [:-1] return sum(divisors[:-1]) == number number = int(input(' Scrivi un numero intero ')) isPerfectNumber(number)Output:
Scrivi un numero intero 56789
False
(631)
Altri articoli nella categoria "Lezioni di Informatica"
- Break-Even Point nel Franchising: Calcolo Avanzato, Automazione e Royalty (con Modelli in Python)
- Regressione lineare: esercizi progressivi dai minimi quadrati alla regressione multipla
- Microeconomia applicata: choke price, domanda esponenziale, segmentazione e prezzo ottimale – Parte 2
- Microeconomia applicata: choke price, prezzo di riserva massimo e prezzo ottimale
- Quanti Centri Ha una Figura Geometrica? Dal Baricentro al Pentagramma
- Microeconomia Computazionale: Come la Domanda di Mercato Emerge dai Comportamenti Individuali
- Legge di Benford e Data Quality nel Marketing: Guida, Formule ed Esercizi Python
- Microeconomia dell’AI: 6 esercizi matematici su costi, pricing, domanda ed elasticità
- Equazioni trascendenti: come risolverle con Python, dal punto fisso a Newton e Brent
- Equazioni Omogenee Esponenziali: Guida Pratica con Esercizi Svolti e Applicazioni