Maximum number of line intersections formed through intersection of N planes
Last Updated :
10 Mar, 2022
Given N planes. The task is to find the maximum number of line intersections that can be formed through the intersections of N planes.
Examples:
Input: N = 3
Output: 3
Input: N = 5
Output: 10
Approach:
Let there be N planes such that no 3 planes intersect in a single line of intersection and no 2 planes are parallel to each other. Adding ‘N+1’th plane to this space should be possible while retaining the above two conditions. In that case, this plane would intersect each of the N planes in ‘N’ distinct lines.
Thus, the ‘N+1’th plane could atmost add ‘N’ new lines to the total count of lines of intersection. Similarly, the Nth plane could add at most “N-1′ distinct lines of intersection. It is easy therefore to see that, for ‘N’ planes, the maximum number of lines of intersection could be:
(N-1) + (N-2) +...+ 1 = N*(N-1)/2
Below is the implementation of the above approach:
C++
#include <bits/stdc++.h>
using namespace std;
int countIntersections( int n)
{
return n * (n - 1) / 2;
}
int main()
{
int n = 3;
cout << countIntersections(n);
return 0;
}
|
Java
class GFG
{
static int countIntersections( int n)
{
return n * (n - 1 ) / 2 ;
}
public static void main (String[] args)
{
int n = 3 ;
System.out.println(countIntersections(n));
}
}
|
Python3
def countIntersections(n):
return n * (n - 1 ) / / 2
n = 3
print (countIntersections(n))
|
C#
using System;
class GFG
{
static int countIntersections( int n)
{
return n * (n - 1) / 2;
}
public static void Main (String[] args)
{
int n = 3;
Console.WriteLine(countIntersections(n));
}
}
|
Javascript
<script>
function countIntersections(n)
{
return n * (n - 1) / 2;
}
var n = 3;
document.write(countIntersections(n));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...