Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Maximum points of intersection n circles

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Given a number n, we need to find the maximum number of times n circles intersect.

Examples: 

Input :  n = 2
Output : 2

Input :  n = 3
Output : 6

Maximum points of intersection n circles

Description and Derivation

As we can see in above diagram, for each pair of circles, there can be maximum two intersection points. Therefore if we have n circles then there can be nC2 pairs of circles in which each pair will have two intersections. So by this, we can conclude that by looking at all possible pairs of circles the mathematical formula can be made for the maximum number of intersections by n circles is given by 2 * nC2
2 * nC2 = 2 * n * (n – 1)/2 = n * (n-1)

C++




// CPP program to find maximum number of
// intersections of n circles
#include <bits/stdc++.h>
using namespace std;
 
// Returns maximum number of intersections
int intersection(int n)
{
   return n * (n - 1);
}
 
int main()
{
    cout << intersection(3) << endl;
    return 0;
}
// This code is contributed by
// Manish Kumar Rai.

Java




// Java program to find maximum number of
// intersections of n circles
import java.io.*;
 
public class GFG {
 
    // for the calculation of 2*(nC2)
    static int intersection(int n)
    {
       return n * (n - 1);
    }
 
    public static void main(String[] args) throws IOException
    {
        System.out.println(intersection(3));
    }
}
// This code is contributed by
// Manish Kumar Rai

Python3




# python program to find maximum number of
# intersections of n circles
# Returns maximum number of intersections
def intersection(n):
     
   return n * (n - 1);
 
# Driver code
print(intersection(3))
 
# This code is contributed by Sam007

C#




// C# program to find maximum number of
// intersections of n circles
using System;
class GFG {
 
    // for the calculation of 2*(nC2)
    static int intersection(int n)
    {
        return n * (n - 1);
    }
 
// Driver Code
public static void Main()
{
    Console.WriteLine(intersection(3));
}
 
}
 
// This code is contributed by Sam007

PHP




<?php
// php program to find maximum number of
// intersections of n circles
 
// Returns maximum number of intersections
function intersection($n)
{
   return $n * ($n - 1);
}
  
// Driver code
 
echo intersection(3);
 
 
// This code is contributed by Sam007
?>

Javascript




<script>
// Javascript program to find maximum number of
// intersections of n circles
 
// Returns maximum number of intersections
function intersection(n)
{
   return n * (n - 1);
}
  
// Driver code
document.write(intersection(3));
 
// This code is contributed by _saurabh_jaiswal
 
</script>

Output: 

6

 

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


My Personal Notes arrow_drop_up
Last Updated : 07 Oct, 2022
Like Article
Save Article
Similar Reads
Related Tutorials