কম্পিউটার

জাভাস্ক্রিপ্টে মূলদগুলির যোগফল হিসাবে মূলদ সংখ্যার পচন


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা ঠিক দুটি সংখ্যার অ্যারে নেয়৷

প্রথম উপাদানটি যেকোনো মূলদ সংখ্যার লব নির্দিষ্ট করে এবং দ্বিতীয় উপাদানটি একইটির হর নির্দিষ্ট করে৷

আমাদের ফাংশনটি দুটি উপাদানের যেকোনো সংখ্যক সাব অ্যারেগুলির একটি অ্যারে প্রদান করবে যেমন সাব্যারে দ্বারা নির্দিষ্ট করা মূলদ সংখ্যা যোগ করা হলে সেগুলি ইনপুট মূলদ সংখ্যা পর্যন্ত যোগ করে এবং সমস্ত সাবয়ারের সংখ্যা 1 হওয়া উচিত।

আমাদেরও নিশ্চিত করতে হবে যে সাবয়ারের সংখ্যা যতটা সম্ভব ছোট।

উদাহরণ

নিম্নলিখিত কোড -

const num = '2/3';
const decompose = (num = '') => {
   const fractions = [];
   let res = eval(num);
   if (res >= 1) {
      fractions = ['' + Math.floor(res)];
      res = res - Math.floor(res);
   };
   let sum = 0;
   let denom = 2;
   while (sum <= res - 0.000000001) {
      if (1 / denom + sum <= res) {
         fractions.push("1/" + denom);
         sum += 1 / denom;
      }
      denom++;
   }
   return fractions;
}
console.log(decompose(num));

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

[ '1/2', '1/6' ]

  1. জাভাস্ক্রিপ্ট নম্বর ফাংশন

  2. জাভাস্ক্রিপ্টে নম্বর প্যাটার্ন

  3. জাভাস্ক্রিপ্টে দুটি নিখুঁত বর্গক্ষেত্রের একটি সংখ্যা

  4. জাভাস্ক্রিপ্টে একটি সংখ্যার সংখ্যার যোগফলের পার্থক্য