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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP