在C ++中以交替方式向左右移动N步后的位置
在这个问题中,我们得到三个整数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
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短