Computer >> Máy Tính >  >> Lập trình >> C ++

Nhân một số với 15 mà không sử dụng các toán tử * và / trong C ++

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