Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 프로그램에서 일반 N 면 다각형에서 세 번째 사람의 위치 결정

<시간/>

이 튜토리얼에서는 일반 N면 다각형에서 제3자의 위치를 ​​찾는 방법을 배울 것입니다.

우리는 정다각형의 다각형을 주었습니다. 그리고 이미 다른 두 지점에 두 사람이 있습니다. 우리의 임무는 첫 번째 두 사람과 세 번째 사람 사이의 거리가 최소화되도록 세 번째 사람을 배치할 세 번째 지점을 찾는 것입니다.

문제를 해결하는 단계를 살펴보겠습니다.

  • N과 두 점 A와 B를 초기화합니다.

  • 제3자의 위치를 ​​초기화하고, 그 위치를 찾기 위한 최소 합을 초기화합니다.

  • 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

결론

튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.