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

Số cặp điểm có thứ tự thỏa mãn phương trình đường thẳng trong C ++

Phương trình đường thẳng cần thỏa mãn là y =mx + c. Cho một mảng, m và c, chúng ta phải tìm số điểm thứ tự thỏa mãn phương trình đường thẳng. Hãy xem một ví dụ.

Đầu vào

arr = [1, 2, 3]
m = 1
c = 1

Đầu ra

2

Các cặp thỏa mãn phương trình đường thẳng là

2 1
3 2

Thuật toán

  • Khởi tạo mảng, m và c.
  • Viết hai vòng lặp để lấy tất cả các cặp từ mảng.
    • Kiểm tra xem liệu cặp có thỏa mãn phương trình đường thẳng hay không.
    • Chúng tôi có thể kiểm tra xem phương trình có thỏa mãn hay không bằng cách thay các giá trị vào phương trình đường thẳng.
    • Nếu cặp số thỏa mãn phương trình đường thẳng, thì hãy tăng số lượng.
  • Trả lại số lượng.

Thực hiện

Sau đây là cách thực hiện thuật toán trên trong C ++

#include <bits/stdc++.h>
using namespace std;
bool isSatisfyingLineEquation(int arr[], int i, int j, int m, int c) {
   if (i == j) {
      return false;
   }
   return arr[j] == m * arr[i] + c;
}
int getOrderedPointsPairCount(int arr[], int n, int m, int c) {
   int count = 0;
   for (int i = 0; i < n; i++) {
      for (int j = 0; j < n; j++) {
         if (isSatisfyingLineEquation(arr, i, j, m, c)) {
            count++;
         }
      }
   }
   return count;
}
int main() {
   int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
   int n = 10;
   int m = 1, c = 1;
   cout << getOrderedPointsPairCount(arr, n, m, c) << endl;
   return 0;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

9