เราสามารถใช้ กะซ้าย (<<) ตัวดำเนินการที่จะคูณด้วย 15 . ถ้าเราออกจากกะ 1 จากนั้นเราจะคูณมันด้วย 2 .
ถ้าเราปล่อยตัวเลขที่กำหนดด้วย 4 จากนั้นเราจะได้ 16 * n. การลบตัวเลขที่กำหนดจาก 16 * n จะทำให้ได้ 15 * n.
หรือ
เราสามารถหารด้วย 8 * n + 4 * n + 2 * n + n. คุณสามารถคูณยกกำลังของ 2 . ได้อย่างง่ายดาย โดยใช้การเลื่อนซ้าย
อัลกอริทึม
- เริ่มต้นหมายเลข n.
- หา n <<4 เพื่อให้ได้ 16 * n.
- ลบ n จากผลลัพธ์ด้านบน
- ส่งคืนคำตอบสุดท้าย
การนำไปใช้
ต่อไปนี้เป็นการนำอัลกอริธึมข้างต้นไปใช้ใน C++
#include <bits/stdc++.h> using namespace std; long long getMultiplicationResult(long long n) { return (n << 4) - n; } int main() { long long n = 15; cout << getMultiplicationResult(n) << endl; return 0; }
ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
225