📜  n条线的最大交点

📅  最后修改于: 2021-05-06 17:26:11             🧑  作者: Mango

您会得到n条直线。您必须找到与这n条线相交的最大点数。

例子:

Input : n = 4 
Output : 6

Input : n = 2
Output :1

img

方法 :

因为我们有n条线,所以我们必须使用这n条线找到最大相交点。因此,可以使用组合来完成。这个问题可以看作是在n行中选择任意两行的方法的数量。由于每条线与选定的其他线相交。
因此,总点数= nC2

下面是上述方法的实现:

C++
// CPP program to find maximum intersecting
// points
#include 
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


输出:
28