ในปัญหานี้ เราได้รับตัวเลขสองตัว N และ M หน้าที่ของเราคือสร้าง โปรแกรมเพื่อค้นหา LCM ของสองหมายเลข Fibonacci ใน C++ .
คำอธิบายปัญหา − เราจะหาเลขฟีโบนักชีที่ N และ M จากนั้นเราจะหา LCM ของตัวเลขสองตัวนั้นแล้วส่งคืนผลลัพธ์
ตัวเลขฟีโบนักชี
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377....
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
ป้อนข้อมูล :N =4, B =9
ผลผลิต :
คำอธิบาย
เลขฟีโบนักชีที่ 4 คือ 2
เลขฟีโบนักชีที่ 9 คือ 21
LCM คือ 42
แนวทางการแก้ปัญหา
ในการแก้ปัญหา เราต้องหาเลขฟีโบนักชีของ N และ M แล้วหา LCM ของตัวเลข
ตัวอย่าง
#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