在这个问题中,我们得到三个整数N,A和B。有一个人站在坐标0处
向右,然后乙步骤A步骤向左。然后再次正确。我们的任务是在N移动之后打印元素的最终位置。
让我们举个例子来了解这个问题,
输入-N = 4,A = 3,B = 1
输出-
说明-
1st move -> right 3, +3 2nd move -> left 1, -1 3rd move -> right 3, +3 4th move -> left 1, -1. Position after 4 moves, +3-1+3-1 = 4.
为了解决这个问题,我们必须找到人采取的全部步骤,向右移动为正,向左移动为负。所有奇数举动向右移动,偶数举动向左移动。
采取的总步骤数将由公式计算得出,
Steps = [((n+1)/2)*a - (n/2)*b]
用来展示我们解决方案的程序,
#include <iostream> using namespace std; void finalPosition(int n, int a, int b) { int steps = {((n + 1)/2)*a - (n/2)*b}; cout<<steps; } int main() { int N=4, A=3, B=1; cout<<"The final position of the person after "<<N<<" steps is "; finalPosition(N,A,B); return 0; }
输出结果
The final position of the person after 4 steps is 4