Chúng ta có thể sử dụng dịch chuyển trái (<<) toán tử để nhân với 15 . Nếu chúng ta rời ca 1 , sau đó chúng tôi đang nhân nó với 2 .
Nếu chúng ta chuyển số đã cho sang trái bằng 4 , sau đó chúng tôi sẽ nhận được 16 * n. Trừ một số đã cho cho 16 * n sẽ được 15 * n.
Hoặc
Chúng ta cũng có thể chia nó thành 8 * n + 4 * n + 2 * n + n. Bạn có thể dễ dàng nhân các lũy thừa của 2 bằng cách sử dụng dịch chuyển sang trái.
Thuật toán
- Khởi tạo số n.
- Tìm n <<4 để có 16 * n.
- Trừ n cho kết quả trên.
- Trả lại câu trả lời cuối cùng.
Thực hiện
Sau đây là cách thực hiện thuật toán trên trong 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; }
Đầu ra
Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.
225