您会得到n条直线。您必须找到与这n条线相交的最大点数。
例子:
Input : n = 4
Output : 6
Input : n = 2
Output :1
方法 :
因为我们有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