ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่มีตัวเลขสองตัว คือ m และ n เป็นอาร์กิวเมนต์แรกและตัวที่สอง
ฟังก์ชันของเราควรจะนับจำนวนการดำเนินการขั้นต่ำที่จำเป็นในการเข้าถึง n จาก m โดยใช้การดำเนินการทั้งสองนี้เท่านั้น -
-
สองเท่า - คูณตัวเลขบนหน้าจอด้วย 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