Để lấy kết quả của n * 3.5, ta cần tính (n * 2) + n + (n / 2). Dịch bit sang trái 1 sẽ cho n * 2 và dịch bit sang phải 1 sẽ cho n / 2. Cộng chúng lại để được kết quả.
n * 3.5 = (n * 2) + n + (n / 2)
Bạn có thể thử các giá trị n khác nhau để kiểm tra 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 toán tử dịch bit trái.
- Tìm n / 2 bằng toán tử dịch bit phải.
- Cộng cả hai giá trị trên cùng với n để được kết quả.
- Trả về kết quả.
Đây là bài toán đơn giản với các bước trên.
Triển khai
Dưới đây là triển khai thuật toán bằng 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 chạy mã trên, bạn sẽ nhận được kết quả sau:
35