题意: 1条折线分成2个平面,2条折线分成7个平面······问n条折线分成多少个平面
分析:由直线分割平面可知,增加第n条直线最多与前面的直线有 n-1 个交点,此时分出的平面增加了 (n-1)+1 个;
同理,增加第n条折线最多与前面的折线有
2∗2(n−1)
2
∗
2
(
n
−
1
)
交点(一条折线相当于两条直线),所以此时分出的平面增加了
2∗2(n−1)+1
2
∗
2
(
n
−
1
)
+
1
个,于是有递推公式
f(n)=f(n−1)+4n−3
f
(
n
)
=
f
(
n
−
1
)
+
4
n
−
3
AC代码:
#include<iostream>
using namespace std;
typedef long long LL;
LL cal(int n)
{
return n==1?2:(cal(n-1)+4*(n-1)+1);
}
int main()
{
int c,n;
cin>>c;
while(c--){
cin>>n;
cout<<cal(n)<<endl;
}
return 0;
}