問題
原文(英語)を表示1からnまでの整数を使って、2つの値を計算してください。まず、すべての整数を足し、その合計を二乗します。別に、各整数を二乗してから、それらを合計します。最初の値から2番目の値を引いた結果を返してください。
difference_of_squares(n) を実装してください。
入力
n: 含める最後の整数。
出力
和の平方から平方和を引いた値を返してください。
制約
0 ≤ n ≤ 50,000。n = 0 の場合、両方の合計は0です。必要なすべての値は符号付き64ビット整数に収まります。
例
例 1
入力:
n = 4
期待される出力:
expected = 70
入力:
long long n = 4;
期待される出力:
long long expected = 70;
入力:
long n = 4;
期待される出力:
long expected = 70;
解説
(1 + 2 + 3 + 4)² = 100。平方和は 1 + 4 + 9 + 16 = 30。引き算すると: 100 − 30 = 70。
例 2
入力:
n = 1
期待される出力:
expected = 0
入力:
long long n = 1;
期待される出力:
long long expected = 0;
入力:
long n = 1;
期待される出力:
long expected = 0;
解説
両方の値が1なので、その差は0です。
参考資料
この課題はCodeUtility用に調整されています。上記の説明と制約に従ってください。