滿足 C++ 中直線方程的有序點對數
需要滿足的直線方程為 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
廣告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP