在 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