C++ 中查詢兩個斐波那契數的最小公倍數的程式


在此問題中,給定兩個數字 N 和 M。我們的任務是建立一個*C++ 中查詢兩個斐波那契數的最小公倍數的程式*。

問題描述 − 我們將找到第 N 個和第 M 個斐波那契數。然後,我們將找到這兩個數字的最小公倍數並返回結果。

斐波那契數

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377....

我們舉個例子來理解這個問題,

輸入: N = 4, B = 9

輸出:

解釋

第 4 個斐波那契數是 2

第 9 個斐波那契數是 21

最小公倍數為 42。

解決方案方法

要解決此問題,我們需要找到 N 和 M 的斐波那契數。然後找到該數字的最小公倍數。

示例

 即時演示

#include <iostream>
using namespace std;
long int fibo(int N){
   long int a=0,b=1,c;
   for(int i=2; i< N;i++) {
      c=a+b;
      a=b;
      b=c;
   }
   return c;
}
int findLCM(int a, int b){
   int max, step, lcm;
   lcm = 0;
   if(a > b)
      max = step = a;
   else
      max = step = b;
   while(1) {
      if(max%a == 0 && max%b == 0) {
         lcm = max;
         break;
      }
      max += step;
   }
   return lcm;
}
int CalcFiboLCM(int N, int M) {
   int fiboN = fibo(N);
   int fiboM = fibo(M);
   return findLCM(fiboN, fiboM);
}
int main() {
   int N = 5, M = 14;
   cout<<"The LCM of two Fibonnaci number is "<<CalcFiboLCM(N, M);
   return 0;
}

輸出

The LCM of two Fibonacci number is 699

更新日期: 2020 年 10 月 9 日

132 次瀏覽

開啟你的 職業生涯

透過完成課程來獲得認證

開始學習
廣告
© . All rights reserved.