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 codeint main(){ // n is number of line ll n = 8; cout << countMaxIntersect(n) << endl; return 0;} |
Java
// Java program to find maximum intersecting// pointspublic 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)/2def countMaxIntersect(n): return int(n*(n - 1)/2)#Driver codeif __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// pointsusing 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 linevar 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!

