BNUOJ 44584 平面切割者

你是一个平面切割者,有一个看上去很酷的工作——切割平面。现在你面前有一个平面,平面上有一大一小两个同心圆。你的工作是:画n条大圆的弦(这些弦在大圆内两两相交)来切割平面。各弦均与小圆相交于两点,且不存在三弦共点,也不存在两弦和小圆交于一点的情况。请问你切割完平面后,大圆内的平面被切割成了多少个区域?
Input
第一行输入一个整数T(T<=20000),表示输入数据的组数。
接下来T行输入一个整数n(0<=n<20000),表示画的大圆的弦的条数。
Output
输出T行,每行输出一个数,表示大圆内划分成的区域数。
Sample Input
2
1
2
Sample Output
4
8

a[0]=2;
a[1]=4;
a[2]=a[1]+2+2=8;
a[3]=a[2]+2+3=13;
a[4]=a[3]+2+4=19;

a[n]=a[n-1]+2+n;

#include <stdio.h>
int a[20005];
int main()
{
    a[0]=2;
    a[1]=4;
    int i;
    for(i=2;i<=20000;i++){
        a[i]=a[i-1]+2+i;
    }
    int t;
    scanf("%d",&t);
    while(t--){
        int n;
        scanf("%d",&n);
        printf("%d\n",a[n]);
    }
    return 0;
}

你可能感兴趣的:(数据,BNUOJ)