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.