সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি সংখ্যা (m, n) নেবে। ফাংশনটি m থেকে n পৌঁছাতে ন্যূনতম অপারেশন সংখ্যা গণনা করবে, শুধু এই দুটি অপারেশন ব্যবহার করে –
• ডাবল – ডিসপ্লেয়ের সংখ্যা ২ দিয়ে গুণ করা, অথবা
• ডিক্রিমেন্ট – ডিসপ্লেয়ের সংখ্যা থেকে ১ বিয়োগ করা।
উদাহরণস্বরূপ, ইনপুট যদি হয় –
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