Torna alle sfide
Facile 0 risolte 0% di accettazione

Differenza dei Quadrati

Sottrai la somma dei quadrati dal quadrato della somma.

Cosa imparerai

  • Calcolare la somma dei numeri e dei quadrati
  • Usare formule chiuse invece dei cicli
  • Confrontare due modi di ottenere lo stesso risultato

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

Esempio 1
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.

Esempio 2
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.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.