Trong bài toán này, ta cho ba số nguyên N, A và B. Có một người đang đứng ở tọa độ 0 di chuyển
A bước sang phải rồi B bước sang trái . Sau đó, một lần nữa đúng. Nhiệm vụ của chúng ta là in ra vị trí cuối cùng của phần tử sau khi N di chuyển.
Hãy lấy một ví dụ để hiểu vấn đề,
Đầu vào - N =4, A =3, B =1
Đầu ra -
Giải thích -
Để giải quyết vấn đề này, chúng ta phải tìm tổng số bước của người đó, thực hiện các bước đi bên phải là tích cực và bước đi bên trái là tiêu cực. Tất cả các nước đi lẻ được thực hiện sang phải và các bước đi chẵn được thực hiện sang trái.
Tổng số bước đã thực hiện sẽ được tính theo công thức,
Các bước =[((n + 1) / 2) * a - (n / 2) * b]
Ví dụ
Chương trình hiển thị minh họa về giải pháp của chúng tôi,
#includeusing namespace std; void finalPosition (int n, int a, int b) {int steps ={((n + 1) / 2) * a - (n / 2) * b}; cout < Đầu ra
Vị trí cuối cùng của người sau 4 bước là 4