Найдите n членов ряда типа Фибоначчи с заданными первыми двумя членами

Опубликовано: 5 Марта, 2022

Для первых двух чисел ряда найдите n членов ряда с этими двумя числами. Данный ряд следует той же концепции, что и ряд Фибоначчи, т.е. n-й член является суммой (n-1) -го и (n-2) -го членов.
Примеры:

 Ввод: первый = 5, второй = 8, n = 5
Выход: 5, 8, 13, 21, 34

Ввод: first = 2, sec = 4, n = 5
Выход: 2, 4, 6, 10, 16

Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.

Approach: 
The approach is similar to finding Fibonacci series where the summation of last two terms form the next term. Find the sum of first two given numbers, second number now will serve as first number to find the next term and the sum produced will serve as second number to find the next term. Sum of these two newly formed first and second term will form the next required term.
Below is the implementation program:
 

C++

// C++ program to find n terms of
// series from given two numbers
#include <bits/stdc++.h>
using namespace std;
 
// Function to find n terms
// of series
void findSeries(int num, int first, int sec)
{
 
    cout << first << " " << sec << " ";
    int counter = 0, sum;
 
    // find next (num - 2) terms of series
    // as first two terms are already given
    while (counter < num - 2) {
        sum = first + sec;
        cout << sum << " ";
        first = sec;
        sec = sum;
        counter++;
    }
}
 
// Drivers code
int main()
{
 
    int n = 5, first = 2, sec = 4;
    findSeries(n, first, sec);
 
    return 0;
}

Java

// Java program to find n terms of
// series from given two numbers
import java.io.*;
 
class GFG {
 
    // Function to find n terms
    // of series
    static void findSeries(int num,
                 int first, int sec)
    {
     
        System.out.print(first + " "
                       + sec + " ");
        int counter = 0, sum;
     
        // find next (num - 2) terms
        // of series as first two
        // terms are already given
        while (counter < num - 2)
        {
            sum = first + sec;
            System.out.print( sum + " ");
            first = sec;
            sec = sum;
            counter++;
        }
    }
     
    // Drivers code
    public static void main (String[] args)
    {
        int n = 5, first = 2, sec = 4;
         
        findSeries(n, first, sec);
    }
}
 
// This code is contributed by vt_m.

Python3

# Python3 program to find n terms of
# series from given two numbers
 
# Function to find n terms
# of series
def findSeries(num, first, sec) :
    print ("{} {} ".format(first, sec),
                               end="")
    counter = 0
 
    # find next (num - 2) terms of
    # series as first two terms are
    # already given
    while (counter < num - 2):
        sum = first + sec
        print ("{} ".format(sum), end="")
        first = sec
        sec = sum
        counter = counter + 1
 
# Drivers code
n = 5
first = 2
sec = 4
findSeries(n, first, sec)
 
# This code is contributed by
# Manish Shaw (manishshaw1)

C#

// C# program to find n terms of
// series from given two numbers
using System;
 
class GFG {
 
    // Function to find n terms
    // of series
    static void findSeries(int num,
                int first, int sec)
    {
     
        Console.Write(first + " "
                    + sec + " ");
        int counter = 0, sum;
     
        // find next (num - 2) terms
        // of series as first two
        // terms are already given
        while (counter < num - 2)
        {
            sum = first + sec;
            Console.Write( sum + " ");
            first = sec;
            sec = sum;
            counter++;
        }
    }
     
    // Drivers code
    public static void Main ()
    {
        int n = 5, first = 2, sec = 4;
         
        findSeries(n, first, sec);
    }
}
 
// This code is contributed by anuj_67.

PHP

<?php
// PHP program to find n terms of
// series from given two numbers
 
// Function to find n terms
// of series
function findSeries( $num, $first, $sec)
{
 
    echo $first , " " , $sec , " ";
    $counter = 0; $sum;
 
    // find next (num - 2) terms of series
    // as first two terms are already given
    while ($counter < $num - 2)
    {
        $sum = $first + $sec;
        echo $sum , " ";
        $first = $sec;
        $sec = $sum;
        $counter++;
    }
}
 
    // Driver Code
    $n = 5;
    $first = 2;
    $sec = 4;
    findSeries($n, $first, $sec);
 
// This code is contributed by anuj_67.
?>

Javascript

<script>
// javascript program to find n terms of
// series from given two numbers
 
// Function to find n terms
// of series
function findSeries( num,  first,  sec)
{
    document.write(first + " " + sec + " ");
    let counter = 0, sum;
 
    // find next (num - 2) terms of series
    // as first two terms are already given
    while (counter < num - 2)
    {
        sum = first + sec;
        document.write(sum + " ");
        first = sec;
        sec = sum;
        counter++;
    }
}
 
// Drivers code
    let n = 5, first = 2, sec = 4;
    findSeries(n, first, sec);
     
// This code is contributed by Rajput-Ji
 
</script>
Output: 
2 4 6 10 16

 

Точно так же, чтобы найти N-е число, сгенерируйте N членов ряда указанным выше способом и выведите N-е число.