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