برنامه پیدا کردن مجموع N عدد فرد فیبوناچی — راهنمای کاربردی

عدد N داده شده است. هدف، پیدا کردن مجموع N عدد فیبوناچی فرد است. شایان ذکر است که پاسخ ممکن است بسیار بزرگ باشد، بنابراین بهتر است آن را به صورت $$۱۰^۹+۷$$ چاپ کرد. مثال زیر برای درک بهتر مطلب، قابل توجه است.

Input : N = 3
Output : 5
Expanation : 1 + 1 + 3

Input : 6
Output : 44
Explanation : 1 + 1 + 3 + 5 + 13 + 21

پیدا کردن مجموع N عدد فرد فیبوناچی

سری اعداد فیبوناچی فرد به صورت زیر است:

۱, ۱, ۳, ۵, ۱۳, ۲۱, ۵۵, ۸۹٫٫٫٫٫٫

سری جمع پیشوندی اعداد فرد فیبوناچی، به صورت زیر است.

۱, ۲, ۵, ۱۰, ۲۳, ۴۴, ۹۹, ۱۸۸٫٫٫٫٫

فرمول برای محاسبه N عدد فیبوناچی فرد برای n>5، به صورت زیر است.

a(n) = a(n-1) + 4*a(n-2) – ۴*a(n-3) + a(n-4) – a(n-5)

در ادامه، پیاده‌سازی رویکرد بالا ارائه شده است.

برنامه پیدا کردن مجموع N عدد فرد فیبوناچی در ++C

// CPP program to Find the sum of 
// first N odd Fibonacci numbers 
#include <bits/stdc++.h> 
using namespace std; 
  
#define mod 1000000007 
  
// Function to calculate sum of first 
// N odd Fibonacci numbers 
long long sumOddFibonacci(int n) 
{ 
    long long Sum[n + 1]; 
  
    // base values 
    Sum[0] = 0; 
    Sum[1] = 1; 
    Sum[2] = 2; 
    Sum[3] = 5; 
    Sum[4] = 10; 
    Sum[5] = 23; 
  
    for (int i = 6; i <= n; i++) { 
        Sum[i] = ((Sum[i - 1] + (4 * Sum[i - 2]) % mod -  
                  (۴ * Sum[i - 3]) % mod + mod) % mod +  
                  (Sum[i - 4] - Sum[i - 5] + mod) % mod) % mod; 
    } 
  
    return Sum[n]; 
} 
  
// Driver code 
int main() 
{ 
    long long n = 6; 
  
    cout << sumOddFibonacci(n); 
  
    return 0; 
}

برنامه پیدا کردن مجموع N عدد فرد فیبوناچی در جاوا

// Java  program to Find the sum of  
// first N odd Fibonacci numbers  
  
import java.io.*; 
  
class GFG { 
    static int mod =1000000007;  
  
// Function to calculate sum of first  
// N odd Fibonacci numbers  
static  int sumOddFibonacci(int n)  
{  
     int Sum[]=new int[n + 1];  
  
    // base values  
    Sum[0] = 0;  
    Sum[1] = 1;  
    Sum[2] = 2;  
    Sum[3] = 5;  
    Sum[4] = 10;  
    Sum[5] = 23;  
  
    for (int i = 6; i <= n; i++) {  
        Sum[i] = ((Sum[i - 1] + (4 * Sum[i - 2]) % mod -  
                (۴ * Sum[i - 3]) % mod + mod) % mod +  
                (Sum[i - 4] - Sum[i - 5] + mod) % mod) % mod;  
    }  
  
    return Sum[n];  
}  
  
// Driver code  
      
    public static void main (String[] args) { 
  
    int n = 6;  
    System.out.println(sumOddFibonacci(n)); 
    } 
//This Code is Contributed by Sachin     
}

برنامه پیدا کردن مجموع N عدد فرد فیبوناچی در پایتون

# Python3 program to Find the sum of  
# first N odd Fibonacci numbers  
mod = 1000000007 ; 
  
# Function to calculate sum of  
# first N odd Fibonacci numbers  
def sumOddFibonacci(n):  
  
    Sum=[0]*(n + 1);  
  
    # base values  
    Sum[0] = 0;  
    Sum[1] = 1;  
    Sum[2] = 2;  
    Sum[3] = 5;  
    Sum[4] = 10;  
    Sum[5] = 23;  
  
    for i in range(6,n+1):  
        Sum[i] = ((Sum[i - 1] + 
                    (۴ * Sum[i - 2]) % mod - 
                    (۴ * Sum[i - 3]) % mod + 
                    mod) % mod + (Sum[i - 4] -
                    Sum[i - 5] + mod) % mod) % mod;  
  
    return Sum[n];  
  
# Driver code  
n = 6;  
print(sumOddFibonacci(n));  
  
# This code is contributed by mits

برنامه پیدا کردن مجموع N عدد فرد فیبوناچی در #C

// C#  program to Find the sum of  
// first N odd Fibonacci numbers  
  
using System; 
  
public class GFG{ 
  
static int mod =1000000007;  
// Function to calculate sum of first  
// N odd Fibonacci numbers  
static int sumOddFibonacci(int n)  
{  
    int []Sum=new int[n + 1];  
  
    // base values  
    Sum[0] = 0;  
    Sum[1] = 1;  
    Sum[2] = 2;  
    Sum[3] = 5;  
    Sum[4] = 10;  
    Sum[5] = 23;  
  
    for (int i = 6; i <= n; i++) {  
        Sum[i] = ((Sum[i - 1] + (4 * Sum[i - 2]) % mod -  
                (۴ * Sum[i - 3]) % mod + mod) % mod +  
                (Sum[i - 4] - Sum[i - 5] + mod) % mod) % mod;  
    }  
  
    return Sum[n];  
}  
  
// Driver code  
      
      
      
    static public void Main (){ 
        int n = 6;  
    Console.WriteLine(sumOddFibonacci(n));  
    }  
//This Code is Contributed by Sachin      
}

برنامه پیدا کردن مجموع N عدد فرد فیبوناچی در PHP

<?php 
// PHP program to Find the sum of  
// first N odd Fibonacci numbers  
$mod = 1000000007 ; 
  
// Function to calculate sum of  
// first N odd Fibonacci numbers  
function sumOddFibonacci($n)  
{  
    global $mod; 
    $Sum[$n + 1] = array();  
  
    // base values  
    $Sum[0] = 0;  
    $Sum[1] = 1;  
    $Sum[2] = 2;  
    $Sum[3] = 5;  
    $Sum[4] = 10;  
    $Sum[5] = 23;  
  
    for ($i = 6; $i <= $n; $i++)  
    {  
        $Sum[$i] = (($Sum[$i - 1] +  
                    (۴ * $Sum[$i - 2]) % $mod -  
                    (۴ * $Sum[$i - 3]) % $mod +  
                    $mod) % $mod + ($Sum[$i - 4] - 
                    $Sum[$i - 5] + $mod) % $mod) % $mod;  
    }  
  
    return $Sum[$n];  
}  
  
// Driver code  
$n = 6;  
echo sumOddFibonacci($n);  
  
// This code is contributed by jit_t 
?>

خروجی قطعه کد بالا به صورت زیر است.

۴۴

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *