Open In App

Maximum points of intersection n lines

Last Updated : 03 Oct, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

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 : 6

Input : n = 2
Output :1


 

img


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>

Output: 
28

 

Time Complexity: O(1)
Auxiliary Space: O(1)


Next Article

Similar Reads