Given a number N, the task is to print the first N terms of the following series:
1, 3, 4, 8, 15, 27, 50…
Examples:
Input: N = 7
Output: 1, 3, 4, 8, 15, 27, 50
Input: N = 3
Output: 1, 3, 4
Approach: From the given series we can find the formula for Nth term:
1st term = 1, 2nd term = 3, 3rd term = 4
4th term = 1st term + 2nd term + 3rd term
5th term = 2nd term + 3rd term + 4th term
6th term = 3rd term + 4th term + 5th term
.
.
so on
Therefore, the idea is to keep track of the last three terms of the series and find the consecutive terms of the series.
Below is the implementation of above approach:
// C++ implementation to print the // N terms of the series whose three // terms are given #include "bits/stdc++.h" using namespace std;
// Function to print the series void printSeries( int n, int a,
int b, int c)
{ int d;
// Generate the ith term and
// print it
if (n == 1) {
cout << a << " " ;
return ;
}
if (n == 2) {
cout << a << " " << b << " " ;
return ;
}
cout << a << " " << b
<< " " << c << " " ;
for ( int i = 4; i <= n; i++) {
d = a + b + c;
cout << d << " " ;
a = b;
b = c;
c = d;
}
} // Driver Code int main()
{ int N = 7, a = 1, b = 3;
int c = 4;
// Function Call
printSeries(N, a, b, c);
return 0;
} |
// Java implementation to print the // N terms of the series whose three // terms are given //include "bits/stdJava.h" import java.util.*;
class GFG{
// Function to print the series static void printSeries( int n, int a,
int b, int c)
{ int d;
// Generate the ith term and
// print it
if (n == 1 )
{
System.out.print(a + " " );
return ;
}
if (n == 2 )
{
System.out.print(a + " " + b + " " );
return ;
}
System.out.print(a + " " +
b + " " +
c + " " );
for ( int i = 4 ; i <= n; i++)
{
d = a + b + c;
System.out.print(d + " " );
a = b;
b = c;
c = d;
}
} // Driver Code public static void main(String[] args)
{ int N = 7 , a = 1 , b = 3 ;
int c = 4 ;
// Function Call
printSeries(N, a, b, c);
} } // This code is contributed by sapnasingh4991 |
# Python3 implementation to print the # N terms of the series whose three # terms are given # Function to print the series def printSeries(n, a, b, c):
# Generate the ith term and
# print it
if (n = = 1 ):
print (a, end = " " );
return ;
if (n = = 2 ):
print (a, b, end = " " );
return ;
print (a, b, c, end = " " );
for i in range ( 4 , n + 1 ):
d = a + b + c;
print (d, end = " " );
a = b;
b = c;
c = d;
# Driver Code N = 7 ; a = 1 ; b = 3 ;
c = 4 ;
# Function Call printSeries(N, a, b, c); # This code is contributed by Code_Mech |
// C# implementation to print the // N terms of the series whose three // terms are given using System;
class GFG{
// Function to print the series static void printSeries( int n, int a,
int b, int c)
{ int d;
// Generate the ith term and
// print it
if (n == 1)
{
Console.Write(a + " " );
return ;
}
if (n == 2)
{
Console.Write(a + " " +
b + " " );
return ;
}
Console.Write(a + " " +
b + " " +
c + " " );
for ( int i = 4; i <= n; i++)
{
d = a + b + c;
Console.Write(d + " " );
a = b;
b = c;
c = d;
}
} // Driver Code public static void Main()
{ int N = 7, a = 1, b = 3;
int c = 4;
// Function call
printSeries(N, a, b, c);
} } // This code is contributed by rock cool |
<script> // javascript implementation to print the // N terms of the series whose three // terms are given // Function to print the series function printSeries( n, a,
b, c)
{ let d;
// Generate the ith term and
// print it
if (n == 1) {
document.write( a + " " );
return ;
}
if (n == 2) {
document.write( a + " " + b + " " );
return ;
}
document.write( a + " " + b
+ " " + c + " " );
for (let i = 4; i <= n; i++) {
d = a + b + c;
document.write( d + " " );
a = b;
b = c;
c = d;
}
} // Driver Code let N = 7, a = 1, b = 3;
let c = 4;
// Function Call
printSeries(N, a, b, c);
// This code is contributed by gauravrajput1 </script> |
1 3 4 8 15 27 50
Time complexity: O(n) because using a for loop
Auxiliary Space: O(1), since no extra space has been taken.