Find the sum of the first Nth Icosagonal Numbers
Last Updated :
05 May, 2023
Given a number N, the task is to find the sum of first N Icosagonal Numbers.
The first few Icosagonal numbers are 1, 20, 57, 112, 185, 276…
Examples:
Input: N = 3
Output: 78
Explanation:
1, 20 and 57 are the first three
Icosagonal number.
Input: N = 5
Output: 375
Approach:
- Initially, we need to create a function which will help us to calculate the N-th Icosagonal number.
- Now, Run a loop starting from 1 to N, to find the sum of all the Icosagonal number.
- Now, add all the above calculated Icosagonal numbers.
- Finally, display the sum of 1st N Icosagonal numbers.
Below is the implementation of the above approach:
C++
#include<bits/stdc++.h>
using namespace std;
int Icosagonal_num( int n)
{
return (18 * n * n - 16 * n) / 2;
}
int sum_Icosagonal_num( int n)
{
int summ = 0;
for ( int i = 1; i <= n; i++)
{
summ += Icosagonal_num(i);
}
return summ;
}
int main()
{
int n = 5;
cout << sum_Icosagonal_num(n) << endl;
}
|
Java
class GFG{
public static int Icosagonal_num( int n)
{
return ( 18 * n * n - 16 * n) / 2 ;
}
public static int sum_Icosagonal_num( int n)
{
int summ = 0 ;
for ( int i = 1 ; i <= n; i++)
{
summ += Icosagonal_num(i);
}
return summ;
}
public static void main(String[] args)
{
int n = 5 ;
System.out.println(sum_Icosagonal_num(n));
}
}
|
Python3
def Icosagonal_num(n):
return ( 18 * n * n -
16 * n) / / 2
def sum_Icosagonal_num(n) :
summ = 0
for i in range ( 1 , n + 1 ):
summ + = Icosagonal_num(i)
return summ
if __name__ = = '__main__' :
n = 5
print (sum_Icosagonal_num(n))
|
C#
using System;
class GFG{
public static int Icosagonal_num( int n)
{
return (18 * n * n - 16 * n) / 2;
}
public static int sum_Icosagonal_num( int n)
{
int summ = 0;
for ( int i = 1; i <= n; i++)
{
summ += Icosagonal_num(i);
}
return summ;
}
public static void Main()
{
int n = 5;
Console.WriteLine(sum_Icosagonal_num(n));
}
}
|
Javascript
<script>
function Icosagonal_num(n)
{
return (18 * n * n - 16 * n) / 2;
}
function sum_Icosagonal_num(n)
{
let summ = 0;
for (let i = 1; i <= n; i++)
{
summ += Icosagonal_num(i);
}
return summ;
}
let n = 5;
document.write(sum_Icosagonal_num(n));
</script>
|
Time complexity: O(N)
Auxiliary Space: O(1) since constant space for variables is used
Another Approach:
1. Define a function icosagonal that takes an integer n and returns the nth icosagonal number using the formula n * (9 * n – 7).
2. Define a function sum_icosagonal that takes an integer n and returns the sum of the first n icosagonal numbers by calling icosagonal function for each number from 1 to n and adding up the results.
3. In main function, set the value of n to 5.
4. Call sum_icosagonal function with n as argument to calculate the sum of the first 5 icosagonal numbers.
5. Print the result using printf function.
C
#include <stdio.h>
int icosagonal( int n) {
return n * (9 * n - 8);
}
int sum_icosagonal( int n) {
int sum = 0;
for ( int i = 1; i <= n; i++) {
sum += icosagonal(i);
}
return sum;
}
int main() {
int n = 5;
int sum = sum_icosagonal(n);
printf ( "The sum of the first %d icosagonal numbers is %d\n" , n, sum);
return 0;
}
|
C++
#include <bits/stdc++.h>
using namespace std;
int icosagonal( int n) {
return n * (9 * n - 8);
}
int sum_icosagonal( int n) {
int sum = 0;
for ( int i = 1; i <= n; i++) {
sum += icosagonal(i);
}
return sum;
}
int main() {
int n = 5;
int sum = sum_icosagonal(n);
cout<< "The sum of the first " <<n<< " icosagonal numbers is " <<sum<<endl;
return 0;
}
|
Python3
def icosagonal(n):
return n * ( 9 * n - 8 )
def sum_icosagonal(n):
_sum = 0
for i in range ( 1 ,n + 1 ):
_sum + = icosagonal(i)
return _sum
n = 5
res = sum_icosagonal(n)
print ( "The sum of first " ,n, " icosagonal Numbers is " ,res)
|
Java
import java.io.*;
class GFG {
public static int icosagonal( int n) {
return n * ( 9 * n - 8 );
}
public static int sum_icosagonal( int n) {
int sum = 0 ;
for ( int i = 1 ; i <= n; i++) {
sum += icosagonal(i);
}
return sum;
}
public static void main (String[] args) {
int n = 5 ;
int sum = sum_icosagonal(n);
System.out.print( "The sum of the first " +n);
System.out.print( " icosagonal numbers is " +sum);
}
}
|
Javascript
function icosagonal(n) {
return n * (9 * n - 8);
}
function sum_icosagonal(n) {
let sum = 0;
for (let i = 1; i <= n; i++) {
sum += icosagonal(i);
}
return sum;
}
const n = 5;
const res = sum_icosagonal(n);
console.log(`The sum of first ${n} icosagonal numbers is ${res}`);
|
C#
using System;
class Program {
static int icosagonal( int n) {
return n * (9 * n - 8);
}
static int sum_icosagonal( int n) {
int sum = 0;
for ( int i = 1; i <= n; i++) {
sum += icosagonal(i);
}
return sum;
}
static void Main() {
int n = 5;
int sum = sum_icosagonal(n);
Console.WriteLine( "The sum of the first {0} icosagonal numbers is {1}" , n, sum);
}
}
|
Output
The sum of the first 5 icosagonal numbers is 375
The time complexity of this program is O(n), where n is the input value.
The space complexity is O(1) because we only need to store a few variables in memory.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...