Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีหาผลคูณของสองจำนวนเต็มโดยไม่ใช้ * ใน JavaScript

เราต้องเขียนฟังก์ชันรับสองตัวเลข คืนผลคูณ แต่ห้ามใช้ตัวดำเนินการ (*)

เคล็ดลับ 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