Göstərilən məbləği dövr vasitəsilə hesablamaq olar. Lakin burada biz formulu da təqdim edəcəyik. Qoy f(n) = 1^2 + 2^2 + 3^2 + ... + n^2. Aşağıdakı cəmi nəzərdən keçirək:
Cəmi aşağıdakı kimi açın:
Hər iki bərabərliyin sağ tərəflərini bərabərləşdirək:
Alqoritmin həyata keçirilməsi
Proqramı dövr vasitəsilə reallaşdırırıq.
scanf("%lld",&n);
for(i = 1; i <= n; i++)
sum += i * i;
printf("%lld\n",sum);Alqoritmin həyata keçirilməsi — formula
Proqramı formula vasitəsilə reallaşdırırıq.
scanf("%lld",&n);
sum = n * (n + 1) * (2 * n + 1) / 6;
printf("%lld\n",sum);Java reallaşdırması
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 reallaşdırması — formula
Proqramı formula vasitəsilə reallaşdırırıq.
n = int(input())
sum = n * (n + 1) * (2 * n + 1) // 6;
print(sum)Python reallaşdırması — dövr
Proqramı dövr vasitəsilə reallaşdırırıq.
n = int(input())
sum = 0
for i in range(1, n + 1):
sum += i * i;
print(sum)