দুটি সংখ্যার সর্বনিম্ন সাধারণ মাল্টিপল (LCM) হল ক্ষুদ্রতম সংখ্যা যা উভয়ের গুণিতক।
উদাহরণস্বরূপ:ধরা যাক আমাদের নিম্নলিখিত দুটি সংখ্যা রয়েছে:15 এবং 9।
15 = 5 * 3 9 = 3 * 3
সুতরাং, 15 এবং 9 এর LCM হল 45।
দুটি সংখ্যার LCM বের করার জন্য একটি প্রোগ্রাম নিচে দেওয়া হল -
উদাহরণ
#include <iostream> using namespace std; int main() { int a=7, b=5, lcm; if(a>b) lcm = a; else lcm = b; while(1) { if( lcm%a==0 && lcm%b==0 ) { cout<<"The LCM of "<<a<<" and "<<b<<" is "<<lcm; break; } lcm++; } return 0; }
আউটপুট
The LCM of 7 and 5 is 35
উপরের প্রোগ্রামে, ভেরিয়েবল lcm দুটি সংখ্যার মধ্যে বড় হিসাবে সেট করা হয়েছে। এটি নিম্নলিখিত কোড স্নিপেট ব্যবহার করে প্রদর্শিত হয়।
if(a>b) lcm = a; else lcm = b;
এর পরে, কিছুক্ষণ লুপ চলে। এই লুপে, যদি LCM একটি পাশাপাশি b দ্বারা বিভাজ্য হয়, তবে এটি দুটি সংখ্যার LCM এবং প্রদর্শিত হয়। যদি না হয়, এই শর্তটি পূরণ না হওয়া পর্যন্ত LCM বৃদ্ধি করা হয়৷
কোড স্নিপেট যা এটি ব্যাখ্যা করে তা হল নিম্নরূপ −
while(1) { if( lcm%a==0 && lcm%b==0 ) { cout<<"The LCM of "<<a<<" and "<<b<<" is "<<lcm; break; } lcm++; }
দুটি সংখ্যার LCM বের করার আরেকটি পদ্ধতি হল LCM এবং GCD সূত্র ব্যবহার করা। এই সূত্রটি নির্দিষ্ট করে যে দুটি সংখ্যার গুণফল তাদের LCM এবং GCD-এর গুণফলের সমান।
a * b = GCD * LCM
সূত্র ব্যবহার করে দুটি সংখ্যার LCM বের করার জন্য একটি প্রোগ্রাম নিচে দেওয়া হল −
উদাহরণ
#include<iostream> using namespace std; int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } int main() { int a = 7, b = 5; cout<<"LCM of "<< a <<" and "<< b <<" is "<< (a*b)/gcd(a, b); return 0; }
আউটপুট
The LCM of 7 and 5 is 35
উপরের প্রোগ্রামে, সূত্র ব্যবহার করে LCM পাওয়া যায়। প্রথমে, a এবং b এর GCD gcd() ব্যবহার করে প্রাপ্ত হয়। এটি একটি পুনরাবৃত্ত ফাংশন. এর দুটি পরামিতি রয়েছে যেমন a এবং b। যদি b 0-এর বেশি হয়, তাহলে a কে main() ফাংশনে ফিরিয়ে দেওয়া হয়। অন্যথায় gcd() ফাংশনটি পুনরাবৃত্তিমূলকভাবে b এবং a%b মানগুলির সাথে নিজেকে কল করে।
এটি নিম্নলিখিত কোড স্নিপেট ব্যবহার করে প্রদর্শিত হয়।
int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); }
GCD প্রাপ্তির পরে, সূত্র ব্যবহার করে LCM গণনা করা হয়। তারপর এটি প্রদর্শিত হয়. এটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে৷
৷cout<<"LCM of "<< a <<" and "<< b <<" is "<< (a*b)/gcd(a, b);