HHUOJ 1407 三角形划分区域

HHUOJ 1407 三角形划分区域

题目描述

用N个三角形最多可以把平面分成几个区域?

输入

输入数据的第一行是一个正整数T(1<=T<=10000),表示测试数据的数量。然后是T组测试数据,每组测试数据只包含一个正整数N(1<=N<=10000)。

2
1
2

输出

对于每组测试数据,请输出题目中要求的结果。

2
8

正确公式是a[n]=a[n-1]+6*(n-1)
我一开始推导的是a[n]=2*a[n-1]+4
巧的是前四项一模一样,结果发现当N=100时,我答案就超限了
额,这告诉我们,还是好好学数学吧……
代码如下:

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	int n,t;
	long long a[10005];
	a[1] = 2;
	cin >> t;
	while (t--)
	{
		cin >> n;
		for (int i = 2; i <= n; i++)
		{
			a[i] = a[i - 1] + 6*(i-1);
		}
		cout << a[n] << endl;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_43765333/article/details/87862797
今日推荐