C++ Program for Sum of squares of first n natural numbers?

In this problem we will see how we can get the sum of squares of first n natural numbers. Here we are using one for loop, that runs from 1 to n. In each step we are calculating square of the term and then add it to the sum. This program takes O(n) time to complete. But if we want to solve this in O(1) or constant time, we can use this series formula −



   sum := 0
   for i in range 1 to n, do
      sum := sum + i^2
   return sum


 Live Demo

using namespace std;
long square_sum_n_natural(int n) {
   long sum = 0;
   for (int i = 1; i <= n; i++) {
      sum += i * i; //square i and add it with sum
   return sum;
main() {
   int n;
   cout << "Enter N: ";
   cin >> n;
   cout << "Result is: " << square_sum_n_natural(n);


Enter N: 4
Result is: 30