KK's Point
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 805 Accepted Submission(s): 270
Problem Description
Our lovely KK has a difficult mathematical problem:He points
N(2≤N≤105)
points on a circle,there are all different.Now he's going to connect the
N
points with each other(There are no three lines in the circle to hand over a point.).KK wants to know how many points are there in the picture(Including the dots of boundary).
Input
The first line of the input file contains an integer
T(1≤T≤10)
, which indicates the number of test cases.
For each test case, there are one lines,includes a integer N(2≤N≤105) ,indicating the number of dots of the polygon.
For each test case, there are one lines,includes a integer N(2≤N≤105) ,indicating the number of dots of the polygon.
Output
For each test case, there are one lines,includes a integer,indicating the number of the dots.
Sample Input
2 3 4
Sample Output
3 5//因为题中说任意三条直线不相交,所以只要求出给出的点可以组成几个四边形就可以了。#include<stdio.h> #include<string.h> #include<algorithm> #include<iostream> #define INF 0x3f3f3f3f #define N 10010 using namespace std; int main() { int t; scanf("%d",&t); while(t--) { unsigned long long n; scanf("%llu",&n); if(n<4) printf("%llu\n",n); else { unsigned long long s=n*(n-1)/2*(n-2)/3*(n-3)/4+n; printf("%llu\n",s); } } return 0; }