เราจำเป็นต้องเขียนฟังก์ชันที่ใช้ตัวเลขสองตัวและส่งคืนผลิตภัณฑ์โดยไม่ต้องใช้ตัวดำเนินการ (*)
เคล็ดลับที่ 1:การใช้ตัวดำเนินการแบ่งสองครั้ง
เรารู้ว่าการคูณและการหารเป็นเพียงส่วนผกผันของกันและกัน ดังนั้นหากเราหารจำนวนด้วยอินเวอร์สของเลขอื่น มันจะเหมือนกับการคูณตัวเลขทั้งสองนั้นไม่ใช่หรือ
มาดูรหัสสำหรับสิ่งนี้กัน −
const a = 20, b = 45; const product = (a, b) => a / (1 / b); console.log(product(a, b));
เคล็ดลับที่ 2:การใช้ลอการิทึม
มาดูคุณสมบัติของลอการิทึมกันก่อน −
log(a) + log(b) = log(ab)
ลองใช้คุณสมบัติของลอการิทึมนี้เพื่อประโยชน์ของเรา รหัสสำหรับสิ่งนี้จะเป็น −
ตัวอย่าง
const a = 20, b = 45; const product = (a, b) => { const logProduct = Math.log(a) + Math.log(b); return Math.round(Math.exp(logProduct)); }; console.log(product(a, b));
ผลลัพธ์
ผลลัพธ์ในคอนโซลสำหรับทั้งคู่จะเป็น −
900