ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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