在 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
结论
如果您在本教程中有任何疑问,请在评论部分中提出。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP