Problema
Usando gli interi da 1 a n, calcola due quantità: prima somma gli interi e poi eleva al quadrato il risultato; separatamente, eleva al quadrato ciascun intero e somma questi quadrati. Restituisci la prima quantità meno la seconda.
Implementa difference_of_squares(n).
Input
n: L'ultimo intero da includere.
Output
Restituisci il quadrato della somma meno la somma dei quadrati.
Vincoli
0 ≤ n ≤ 50.000. Per n = 0, entrambe le somme sono 0. Tutti i valori richiesti rientrano nei limiti di un intero con segno a 64 bit.
Esempi
Input:
n = 4
Output atteso:
expected = 70
Input:
long long n = 4;
Output atteso:
long long expected = 70;
Input:
long n = 4;
Output atteso:
long expected = 70;
Spiegazione
(1 + 2 + 3 + 4)² = 100. La somma dei quadrati è 1 + 4 + 9 + 16 = 30. Sottrai: 100 − 30 = 70.
Input:
n = 1
Output atteso:
expected = 0
Input:
long long n = 1;
Output atteso:
long long expected = 0;
Input:
long n = 1;
Output atteso:
long expected = 0;
Spiegazione
Entrambe le quantità sono uguali a 1, quindi la loro differenza è 0.
Come affrontarlo
Prova prima da solo, poi apri un suggerimento alla volta.
Suggerimento 1
Stai confrontando due riassunti dello stesso intervallo: uno basato sulla somma, l’altro sul quadrato.
Suggerimento 2
Usa le formule chiuse per la somma degli interi e la somma dei quadrati invece di ciclare su ogni valore.
Suggerimento 3
Gestisci con attenzione il caso zero, perché lì entrambe le quantità devono essere zero.
Complessità attesa
tempo O(1), spazio aggiuntivo O(1)
Riferimenti
Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.