Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมหา LCM ของสอง Fibonnaci Numbers ใน C++


ในปัญหานี้ เราได้รับตัวเลขสองตัว 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