如下:包含推导过程:
代码:
/***** HDOJ 2050 折线分割平面 ********/
/******** written by C_Shit_Hu ************/
递归题目///
/****************************************************************************/
/*
首先我们考虑直线的情况:
当n=1时原来的1个平面被分割成了2个;
当n=2时原来的2个平面被分割成了4个;
当n=3时原来的4个平面被分割成了7个;
也就是说F(n)=F(n-1)+n且n=0时F(0)=1;
推出公式
F(n)=(1+2+3+....+n)+F(0)=(1+n)*n/2+1;
好那我们考虑折线。这个折线可以看做两条直线相交分割成4个平面。
但是由于是折线所以每个折线会损失2个平面。
也就是
F(n)=(1+2n)*2n/2+1-2n;
*/
/****************************************************************************/
//
#include<stdio.h>
int func(int n)
{
if(n==1) return 2 ;
return func(n-1)+4*(n-1)+2-1;
}
int main()
{
int i,c;
scanf("%d",&c);
while(c--)
{
scanf("%d",&i);
printf("%d\n",func(i));
}
return 0;
}
/******************************************************/
/******************** 心得体会 **********************/
/*
水水更健康!!!
*/
/******************************************************/