在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
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短