حتى أرقام فيبوناتشي مجموع

حتى أرقام فيبوناتشي مجموع
جربه على ممارسة GfG #practiceLinkDiv { العرض: لا شيء! مهم؛ }

إذا كانت هناك نهاية، أوجد مجموع كل الحدود ذات القيمة الزوجية في تسلسل فيبوناتشي أسفل النهاية المعطاة.
المصطلحات القليلة الأولى من أرقام فيبوناتشي هي 1 1 2 3 5 8 13 21 34 55 89 144 233... (يتم تمييز الأرقام الزوجية).
أمثلة :  
 

Input : limit = 8 Output : 10 Explanation : 2 + 8 = 10 Input : limit = 400; Output : 188. Explanation : 2 + 8 + 34 + 144 = 188. 


 

الممارسة الموصى بها حتى أرقام فيبوناتشي مجموع جربه!


الحل البسيط هو تكرار جميع أرقام فيبوناتشي بينما يكون الرقم التالي أقل من أو يساوي الحد المحدد. لكل رقم تحقق مما إذا كان زوجيًا. إذا كان الرقم حتى إضافته إلى النتيجة.
يعتمد الحل الفعال على ما يلي صيغة العودية حتى لأرقام فيبوناتشي
 

Recurrence for Even Fibonacci sequence is: EFn = 4EFn-1 + EFn-2 with seed values EF0 = 0 and EF1 = 2.   EFn   represents n'th term in Even Fibonacci sequence. 


يشير إلى هذا مزيد من التفاصيل عن الصيغة أعلاه.
لذلك، أثناء التكرار على أرقام فيبوناتشي، فإننا نولد أرقام فيبوناتشي الزوجية فقط. 
 

C++
   // Find the sum of all the even-valued terms in   // the Fibonacci sequence which do not exceed   // given limit.   #include       using     namespace     std  ;   // Returns sum of even Fibonacci numbers which are   // less than or equal to given limit.   int     evenFibSum  (  int     limit  )   {      if     (  limit      <     2  )      return     0  ;      // Initialize first two even Fibonacci numbers      // and their sum      long     long     int     ef1     =     0       ef2     =     2  ;      long     long     int     sum     =     ef1     +     ef2  ;      // calculating sum of even Fibonacci value      while     (  ef2      <=     limit  )      {      // get next even value of Fibonacci sequence      long     long     int     ef3     =     4  *  ef2     +     ef1  ;      // If we go beyond limit we break loop      if     (  ef3     >     limit  )      break  ;      // Move to next even number and update sum      ef1     =     ef2  ;      ef2     =     ef3  ;      sum     +=     ef2  ;      }      return     sum  ;   }   // Driver code   int     main  ()   {      int     limit     =     400  ;      cout      < <     evenFibSum  (  limit  );      return     0  ;   }   
Java
   // Find the sum of all the even-valued terms in   // the Fibonacci sequence which do not exceed   // given limit.   import     java.io.*  ;   class   GFG      {      // Returns sum of even Fibonacci numbers which are      // less than or equal to given limit.      static     int     evenFibSum  (  int     limit  )      {      if     (  limit      <     2  )      return     0  ;          // Initialize first two even Fibonacci numbers      // and their sum      long     ef1     =     0       ef2     =     2  ;      long     sum     =     ef1     +     ef2  ;          // calculating sum of even Fibonacci value      while     (  ef2      <=     limit  )      {      // get next even value of Fibonacci sequence      long     ef3     =     4     *     ef2     +     ef1  ;          // If we go beyond limit we break loop      if     (  ef3     >     limit  )      break  ;          // Move to next even number and update sum      ef1     =     ef2  ;      ef2     =     ef3  ;      sum     +=     ef2  ;      }          return  (  int  )     sum  ;      }          // Driver code      public     static     void     main     (  String  []     args  )         {      int     limit     =     400  ;      System  .  out  .  println  (  evenFibSum  (  limit  ));          }   }   // This code is contributed by vt_m.   
Python3
   # Find the sum of all the even-valued    # terms in the Fibonacci sequence which    # do not exceed given limit.   # Returns sum of even Fibonacci numbers which   # are less than or equal to given limit.   def   evenFibSum  (  limit  )   :   if   (  limit    <   2  )   :   return   0   # Initialize first two even Fibonacci numbers   # and their sum   ef1   =   0   ef2   =   2   sm  =   ef1   +   ef2   # calculating sum of even Fibonacci value   while   (  ef2    <=   limit  )   :   # get next even value of Fibonacci    # sequence   ef3   =   4   *   ef2   +   ef1   # If we go beyond limit we break loop   if   (  ef3   >   limit  )   :   break   # Move to next even number and update   # sum   ef1   =   ef2   ef2   =   ef3   sm   =   sm   +   ef2   return   sm   # Driver code   limit   =   400   print  (  evenFibSum  (  limit  ))   # This code is contributed by Nikita Tiwari.   
C#
   // C# program to Find the sum of all   // the even-valued terms in the    // Fibonacci sequence which do not   // exceed given limit.given limit.   using     System  ;   class     GFG     {          // Returns sum of even Fibonacci       // numbers which are less than or      // equal to given limit.      static     int     evenFibSum  (  int     limit  )      {      if     (  limit      <     2  )      return     0  ;          // Initialize first two even      // Fibonacci numbers and their sum      long     ef1     =     0       ef2     =     2  ;      long     sum     =     ef1     +     ef2  ;          // calculating sum of even       // Fibonacci value      while     (  ef2      <=     limit  )      {          // get next even value of       // Fibonacci sequence      long     ef3     =     4     *     ef2     +     ef1  ;          // If we go beyond limit      // we break loop      if     (  ef3     >     limit  )      break  ;          // Move to next even number      // and update sum      ef1     =     ef2  ;      ef2     =     ef3  ;      sum     +=     ef2  ;      }          return  (  int  )     sum  ;      }          // Driver code      public     static     void     Main     ()         {      int     limit     =     400  ;      Console  .  Write  (  evenFibSum  (  limit  ));          }   }   // This code is contributed by Nitin Mittal.   
PHP
      // Find the sum of all the    // even-valued terms in the    // Fibonacci sequence which    // do not exceed given limit.   // Returns sum of even Fibonacci   // numbers which are less than or    // equal to given limit.   function   evenFibSum  (  $limit  )   {   if   (  $limit    <   2  )   return   0  ;   // Initialize first two even    // Fibonacci numbers and their sum   $ef1   =   0  ;   $ef2   =   2  ;   $sum   =   $ef1   +   $ef2  ;   // calculating sum of   // even Fibonacci value   while   (  $ef2    <=   $limit  )   {   // get next even value of   // Fibonacci sequence   $ef3   =   4   *   $ef2   +   $ef1  ;   // If we go beyond limit   // we break loop   if   (  $ef3   >   $limit  )   break  ;   // Move to next even number   // and update sum   $ef1   =   $ef2  ;   $ef2   =   $ef3  ;   $sum   +=   $ef2  ;   }   return   $sum  ;   }   // Driver code   $limit   =   400  ;   echo  (  evenFibSum  (  $limit  ));   // This code is contributed by Ajit.   ?>   
JavaScript
    <  script  >   // Javascript program to find the sum of all the even-valued terms in   // the Fibonacci sequence which do not exceed   // given limit.      // Returns sum of even Fibonacci numbers which are      // less than or equal to given limit.      function     evenFibSum  (  limit  )      {      if     (  limit      <     2  )      return     0  ;          // Initialize first two even Fibonacci numbers      // and their sum      let     ef1     =     0       ef2     =     2  ;      let     sum     =     ef1     +     ef2  ;          // calculating sum of even Fibonacci value      while     (  ef2      <=     limit  )      {      // get next even value of Fibonacci sequence      let     ef3     =     4     *     ef2     +     ef1  ;          // If we go beyond limit we break loop      if     (  ef3     >     limit  )      break  ;          // Move to next even number and update sum      ef1     =     ef2  ;      ef2     =     ef3  ;      sum     +=     ef2  ;      }          return     sum  ;      }       // Function call          let     limit     =     400  ;      document  .  write  (  evenFibSum  (  limit  ));        <  /script>   

الإخراج :  
 

188 

تعقيد الوقت: على)

المساحة المساعدة: يا(1)


 

إنشاء اختبار