কম্পিউটার টিউটোরিয়াল

JavaScript-এ দুটি নম্বরের লিস্ট কমন মাল্টিপল ক্যালকুলেট করার প্রোগ্রাম


আমাদের একটি ফাংশন লিখতে হবে যা দুটি নম্বর গ্রহণ করে এবং তাদের লিস্ট কমন মাল্টিপল রিটার্ন করবে।

লিস্ট কমন মাল্টিপল (LCM)

দুটি নম্বর a এবং b-এর লিস্ট কমন মাল্টিপল হলো वह ছোট পজিটিভ ইন্টিজার যা a এবং b দুটির দ্বারা বিভাজ্য।

উদাহরণস্বরূপ - 6 এবং 8-এর LCM হলো 24 কারণ 24 হলো সেটি ছোট পজিটিভ ইন্টিজার যা 6 এবং 8 উভয়ের দ্বারা বিভাজ্য।

LCM ক্যালকুলেট করার পদ্ধতি

দুটি নম্বর a এবং b-এর LCM বের করার অনেক পদ্ধতির মধ্যে একটি হলো a এবং b-এর গুণফলকে সেই সর্বোচ্চ ইন্টিজার (সর্বোচ্চ সাধারণ ভাজক বা GCD) দিয়ে ভাগ করা যা a এবং b দুটোকে বিভাজ্য করে।

6 এবং 8-এর কেসে, তাদের গুণফল 48 এবং সেগুলোকে বিভাজ্য করে এমন সর্বোচ্চ ইন্টিজার 2, তাই তাদের LCM হবে:

(6*8)/2 = 24

এই বিষয়গুলো স্পষ্ট হলে, এখন কোডিং অংশে যাই:

উদাহরণ

const lcm = (a, b) => {    let min = Math.min(a, b);    while(min >= 2){       if(a % min === 0 && b % min === 0){          return (a*b)/min;       };       min--;    };    return (a*b); }; console.log(lcm(6, 8)); console.log(lcm(16, 18)); console.log(lcm(0, 8)); console.log(lcm(11, 28)); console.log(lcm(18, 34));

কোড বুঝা

যেহেতু উভয় নম্বরকে সম্পূর্ণরূপে বিভাজ্য করে এমন সর্বোচ্চ ইন্টিজার এখনো সেই দুটি নম্বরের চেয়ে ছোট বা সমান হবে, আমরা ছোট নম্বর থেকে 2 পর্যন্ত একটি ডিক্রিমেন্টিং লুপ চালাচ্ছি।

যদি আমাদের ইটারেশন중에 এমন কোনো নম্বর পাই যা উভয়কে বিভাজ্য করে, তবে আমরা নিশ্চিত হয়ে যেতে পারি যে সেটিই সেরা বড় নম্বর কারণ আমরা ডিক্রিমেন্টিং লুপে আছি, তাই সেখানে LCM সহ রিটার্ন করি।

যদি পুরো লুপ পূরণ হয়ে যায় তবে মানে আমরা এমন কোনো নম্বর পাইনি এবং 1 হলো একমাত্র নম্বর যা সেগুলোকে বিভাজ্য করে (অন্য কথায় নম্বরগুলো কো-প্রাইম), তাই আমরা সোজা তাদের গুণফল রিটার্ন করি।

আউটপুট

কনসোলে আউটপুট হবে:

24 144 0 308 306

  1. জাভা প্রোগ্রাম: প্রাকৃতিক সংখ্যা (Natural Numbers) এর যোগফল গণনা

  2. জাভা প্রোগ্রাম: দুটি সংখ্যার LCM (লঘুসাধারণ গুণিতক) নির্ণয়

  3. জাভা প্রোগ্রাম: দুটি নম্বর যোগ করা

  4. দুই সংখ্যার কমন ডিভাইজার বের করার পাইথন প্রোগ্রাম