रेखा समीकरण जिसे संतुष्ट करना है वह है y = mx + c। एक सरणी, m, और c दी गई है, हमें रेखा समीकरण को संतुष्ट करने वाले क्रमबद्ध बिंदु जोड़ों की संख्या ढूंढनी है। आइए एक उदाहरण देखते हैं।
इनपुट
arr = [1, 2, 3] m = 1 c = 1
आउटपुट
2
रेखा समीकरण को संतुष्ट करने वाले जोड़े हैं:
2 1 3 2
एल्गोरिदम
- सरणी, m, और c को आरंभ करें।
- सरणी से सभी जोड़े प्राप्त करने के लिए दो लूप लिखें।
- जांचें कि जोड़ी रेखा समीकरण को संतुष्ट करती है या नहीं।
- हम मानों को रेखा समीकरण में प्रतिस्थापित करके जांच सकते हैं कि समीकरण संतुष्ट है या नहीं।
- यदि जोड़ी रेखा समीकरण को संतुष्ट करती है, तो काउंट बढ़ाएं।
- काउंट लौटाएं।
कार्यान्वयन
उपरोक्त एल्गोरिदम का 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; }आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।
9