在 C++ 程序中确定正 N 边形上第三个人的位置
在本教程中,我们将学习如何找到正 N 边形上第三个人的位置。
我们给定一个正 N 边形。并且已经有两个人分别位于两个不同的点上。我们的任务是找到第三个点来放置第三个人,使得前两个人与第三个人之间的距离最小化。
让我们看看解决问题的步骤。
初始化 N 和两个点 A 和 B。
初始化第三个人的位置,以及找到位置的最小和。
从 1 迭代到 N。
如果当前位置是 A 或 B,则跳过它。
找到当前位置与 A、B 之间绝对差的总和。
将其与最小和进行比较。
如果当前和小于最小和,则更新位置和最小和。
打印第三个人的位置。
示例
让我们看看代码。
#include <bits/stdc++.h> using namespace std; int findThirdPersonStandingVertex(int N, int A, int B) { int position = 0; int minimum_sum = INT_MAX, sum; for (int i = 1; i <= N; i++) { // skipping the predefined vertices if (i == A || i == B) { continue; } else { // length between the current vertext to A and B sum = abs(i - A) + abs(i - B); // checking whether the current sum is less than previous sum if (sum < minimum_sum) { // updating the minimum sum and position of vertext minimum_sum = sum; position = i; } } } return position; } int main() { int N = 7, A = 5, B = 7; cout << "Vertex: " << findThirdPersonStandingVertex(N, A, B) << endl; return 0; }
输出
如果您执行上述程序,则将获得以下结果。
Vertex: 6
结论
如果您在本教程中有任何疑问,请在评论部分中提出。
广告