Để nhận kết quả của n * 3.5 chúng ta cần tính (n * 2) + n + (n / 2) . Di chuyển các bit sang trái 1 sẽ cung cấp cho bạn n * 2 và di chuyển các bit sang phải bạn sẽ n / 2 . Thêm những thứ đó để có được kết quả.
n * 3.5 =(n * 2) + n + (n / 2)
Bạn có thể gửi các giá trị khác nhau của n để xác minh phương trình trên. Hãy xem một số ví dụ.
Đầu vào
2 7 10
Đầu ra
7 24 35
Thuật toán
- Khởi tạo số n.
- Tìm n * 2 bằng cách sử dụng toán tử dịch chuyển trái theo chiều bit dọc
- Tìm n / 2 bằng cách sử dụng toán tử dịch chuyển theo chiều bit sang phải.
- Thêm cả hai giá trị trên cùng với n để nhận được kết quả.
- Trả lại kết quả.
Đây là một vấn đề đơn giản với các bước trên.
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;
int getTheResult(int x) {
return (x << 1) + x + (x >> 1);
}
int main() {
int n = 10;
cout << getTheResult(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.
35