题目:用刀切pizza,n刀最多能切几块。
分析:数学题。n条直线最多将平面分成n(n+1)/2+1块区域。
推导:设n条直线分平面为f(n)块。那么第n+1条之间最多和前n条直线都相交,故有n个交点。
会形成n-1条线段和两条射线,他们会把原有的n+1个区域分成两部分
所以有递推公式:f(n+1) = f(n)+n+1,f(0) = 1
求解:f(n) = n(n+1)/2+1
#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
int main()
{
long long n;
while ( cin >> n && n >= 0LL )
cout << n*(n+1LL)/2LL+1LL << endl;
return 0;
}