Разбор
Указанную сумму можно вычислить с помощью цикла. Однако здесь мы также представим формулу. Пусть . Рассмотрим сумму:
Распишем сумму следующим образом:
Приравняем правые части обоих равенств:
Реализация алгоритма
Реализуем программу при помощи цикла.
scanf("%lld",&n); for(i = 1; i <= n; i++) sum += i * i; printf("%lld\n",sum);
Реализация алгоритма — формула
Реализуем программу при помощи формулы.
scanf("%lld",&n); sum = n * (n + 1) * (2 * n + 1) / 6; printf("%lld\n",sum);
Java реализация
import java.util.*; public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); long n = con.nextLong(); long sum = n * (n + 1) * (2 * n + 1) / 6; System.out.println(sum); con.close(); } }
Python реализация — формула
Реализуем программу при помощи формулы.
n = int(input()) sum = n * (n + 1) * (2 * n + 1) // 6; print(sum)
Python реализация — цикл
Реализуем программу при помощи цикла.
n = int(input()) sum = 0 for i in range(1, n + 1): sum += i * i; print(sum)