Để 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