Computer >> Máy Tính >  >> Lập trình >> C ++

Xác định vị trí của ngôi thứ ba trên đa giác đều N cạnh trong chương trình C ++

Trong hướng dẫn này, chúng ta sẽ học cách tìm vị trí của ngôi thứ ba trên một đa giác đều N cạnh.

Chúng ta đã cho một đa giác đều N cạnh. Và đã có hai người ở hai điểm khác nhau. Nhiệm vụ của chúng ta là tìm ra điểm thứ ba để đặt ngôi thứ ba sao cho khoảng cách giữa hai ngôi thứ nhất và ngôi thứ ba được giảm thiểu.

Hãy xem các bước để giải quyết vấn đề.

  • Khởi tạo N và hai điểm A và B.

  • Khởi tạo vị trí của người thứ ba và tổng tối thiểu để tìm vị trí.

  • Lặp lại từ 1 đến N.

    • Nếu vị trí hiện tại là A hoặc B, hãy bỏ qua nó.

    • Tìm tổng chênh lệch tuyệt đối giữa vị trí hiện tại và A, B.

    • So sánh nó với tổng tối thiểu.

    • Nếu tổng hiện tại nhỏ hơn tổng tối thiểu, thì hãy cập nhật vị trí và tổng tối thiểu.

  • In vị trí của người thứ ba.

Ví dụ

Hãy xem mã.

#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;
}

Đầu ra

Nếu bạn thực hiện chương trình trên, bạn sẽ nhận được kết quả sau.

Vertex: 6

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.