# Maximum number of line intersections formed through intersection of N planes

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++

`// C++ implementation of the above pproach ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to count maximum number of ` `// intersections possible ` `int` `countIntersections(` `int` `n) ` `{ ` ` ` `return` `n * (n - 1) / 2; ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` `int` `n = 3; ` ` ` ` ` `cout << countIntersections(n); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java implementation of the approach ` `class` `GFG ` `{ ` ` ` ` ` `// Function to count maximum number of ` ` ` `// intersections possible ` ` ` `static` `int` `countIntersections(` `int` `n) ` ` ` `{ ` ` ` `return` `n * (n - ` `1` `) / ` `2` `; ` ` ` `} ` ` ` ` ` `// Driver Code ` ` ` `public` `static` `void` `main (String[] args) ` ` ` `{ ` ` ` `int` `n = ` `3` `; ` ` ` ` ` `System.out.println(countIntersections(n)); ` ` ` `} ` `} ` ` ` `// This code is contributed by AnkitRai01 ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 implementation of the above pproach ` ` ` `# Function to count maximum number of ` `# intersections possible ` `def` `countIntersections(n): ` ` ` `return` `n ` `*` `(n ` `-` `1` `) ` `/` `/` `2` ` ` `# Driver Code ` `n ` `=` `3` ` ` `print` `(countIntersections(n)) ` ` ` `# This code is contributed by mohit kumar ` |

*chevron_right*

*filter_none*

## C#

`// C# implementation of the approach ` `using` `System; ` ` ` `class` `GFG ` `{ ` ` ` ` ` `// Function to count maximum number of ` ` ` `// intersections possible ` ` ` `static` `int` `countIntersections(` `int` `n) ` ` ` `{ ` ` ` `return` `n * (n - 1) / 2; ` ` ` `} ` ` ` ` ` `// Driver Code ` ` ` `public` `static` `void` `Main (String[] args) ` ` ` `{ ` ` ` `int` `n = 3; ` ` ` ` ` `Console.WriteLine(countIntersections(n)); ` ` ` `} ` `} ` ` ` `// This code is contributed by 29AjayKumar ` |

*chevron_right*

*filter_none*

**Output:**

3

**Time Complexity:** O(1)

## Recommended Posts:

- Maximum possible intersection by moving centers of line segments
- Number of intersections between two ranges
- Find maximum number that can be formed using digits of a given number
- Find the area of the shaded region formed by the intersection of four semicircles in a square
- Maximum number of teams that can be formed with given persons
- Area of triangle formed by the axes of co-ordinates and a given straight line
- Maximum points of intersection n circles
- Maximum points of intersection n lines
- Maximum possible time that can be formed from four digits
- Maximum factors formed by two numbers
- Count maximum points on same line
- Number of pairs of lines having integer intersection points
- Angle between two Planes in 3D
- Find the number of jumps to reach X in the number line from zero
- Distance between two parallel Planes in 3-D

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.