সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং দ্বিতীয় আর্গুমেন্ট হিসাবে দুটি সংখ্যা, m এবং n নেয়৷
আমাদের ফাংশনটি শুধুমাত্র এই দুটি অপারেশন ব্যবহার করে m থেকে n এ পৌঁছানোর জন্য প্রয়োজনীয় ন্যূনতম ক্রিয়াকলাপগুলির সংখ্যা গণনা করার কথা −
-
ডবল − ডিসপ্লেতে থাকা সংখ্যাটিকে 2 দ্বারা গুণ করুন, অথবা;
-
হ্রাস − প্রদর্শনের সংখ্যা থেকে 1 বিয়োগ করুন।
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
const m = 5; const n = 8;
তারপর আউটপুট −
হওয়া উচিতconst output = 8;
আউটপুট ব্যাখ্যা:
কারণ অপারেশনগুলি হল −
5 → 4 → 8
উদাহরণ
এর জন্য কোড হবে −
const m = 5; const n = 8; const findOperations = (m, n) => { let res = 0; while(n > m){ if(n % 2 === 0){ n /= 2; }else{ n += 1; }; res += 1; }; return res + m - n; }; console.log(findOperations(m, n));
আউটপুট
এবং কনসোলে আউটপুট হবে −
2