UVA

/*      
  主要是画图,画很多图,找规律,找到规律以后,发现算是简单题
  
  思路的关键是:每次切割都与前(i-1)刀有交点的情况下,得到的块数是最大的
*/


#include <iostream>
typedef long long ll;
using namespace std;
const int N = 21e7 + 10;
ll a[N];
int main()
{
	a[0] = 1; a[1] = 2;
	for (int i = 2; i <= N; i++)
	a[i] = a[i - 1] + i;
	int n;
	while (cin >> n)
	{
		if (n < 0) break;
		cout << a[n] << endl;
	}
	return 0;
}


原文地址:https://www.cnblogs.com/mofushaohua/p/7789437.html