You are given n straight lines. You have to find a maximum number of points of intersection with these n lines.
Examples:
Input : n = 4
Output : 6Input : n = 2
Output :1
Approach :
As we have n number of line, and we have to find the maximum point of intersection using this n line. So this can be done using the combination. This problem can be thought of as a number of ways to select any two lines among n line. As every line intersects with others that are selected.
So, the total number of points = nC2
Below is the implementation of the above approach:
C++
// CPP program to find maximum intersecting // points #include <bits/stdc++.h> using namespace std; #define ll long int // nC2 = (n)*(n-1)/2; ll countMaxIntersect(ll n) { return (n) * (n - 1) / 2; } // Driver code int main() { // n is number of line ll n = 8; cout << countMaxIntersect(n) << endl; return 0; } |
Java
// Java program to find maximum intersecting // points public class GFG { // nC2 = (n)*(n-1)/2; static long countMaxIntersect( long n) { return (n) * (n - 1 ) / 2 ; } // Driver code public static void main(String args[]) { // n is number of line long n = 8 ; System.out.println(countMaxIntersect(n)); } // This code is contributed by ANKITRAI1 } |
Python3
# Python3 program to find maximum # intersecting points #nC2 = (n)*(n-1)/2 def countMaxIntersect(n): return int (n * (n - 1 ) / 2 ) #Driver code if __name__ = = '__main__' : # n is number of line n = 8 print (countMaxIntersect(n)) # this code is contributed by # Shashank_Sharma |
C#
// C# program to find maximum intersecting // points using System; class GFG { // nC2 = (n)*(n-1)/2; public static long countMaxIntersect( long n) { return (n) * (n - 1) / 2; } // Driver code public static void Main() { // n is number of line long n = 8; Console.WriteLine(countMaxIntersect(n)); } } // This code is contributed by Soumik |
PHP
<?PHP // PHP program to find maximum intersecting // points // nC2 = (n)*(n-1)/2; function countMaxIntersect( $n ) { return ( $n ) * ( $n - 1) / 2; } // Driver code // n is number of line $n = 8; echo countMaxIntersect( $n ) . "\n" ; // This code is contributed by ChitraNayal ?> |
Javascript
<script> // Javascript program to find maximum intersecting // points // nC2 = (n)*(n-1)/2; function countMaxIntersect(n) { return (n) * (n - 1) / 2; } // Driver code // n is number of line var n = 8; document.write( countMaxIntersect(n) ); </script> |
28
Time Complexity: O(1)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!