Задану суму можна обчислити за допомогою циклу. Однак тут ми також представимо формулу. Нехай f(n) = 1^2 + 2^2 + 3^2 + ... + n^2. Розглянемо суму:
Розпишемо суму наступним чином:
Прирівняємо праві частини обох рівнянь:
Реалізація алгоритму
Реалізуємо програму за допомогою циклу.
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)