समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले और दूसरे तर्क के रूप में दो संख्याओं, 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