您的位置:首页 > 其它

献给杭电五十周年校庆的礼物

2018-03-28 19:56 176 查看
/*分析:

①n条直线把平面分割成的区域数: f(n)=f(n-1)+n=n(n+1)/2+1;

②把空间分割为最多的区域数的时候,第n个平面与前(n-1)个平面相交,

且无三面共线,所以此时该平面与前(n-1)个平面有(n-1)条交线。

这些交线把第n个平面分割为f(n-1)个区域,于是这个平面将原有空间一分为二,

故增加了f(n-1)个空间,得递推公式:g(n)=g(n-1)+f(n-1)=(n^3+5n)/6+1。

*/

Problem Description

或许你曾经牢骚满腹

或许你依然心怀忧伤

或许你近在咫尺

或许你我天各一方

对于每一个学子

母校

永远航行在

生命的海洋

今年是我们杭电建校五十周年,这是一个值得祝福的日子。我们该送给母校一个怎样的礼物呢?对于目前的大家来说,最好的礼物当然是省赛中的好成绩,我不能参赛,就送给学校一个DOOM III球形大蛋糕吧,这可是名牌,估计要花掉我半年的银子呢。

想象着正式校庆那一天,校长亲自操刀,把这个大蛋糕分给各地赶来祝贺的校友们,大家一定很高兴,呵呵,流口水了吧…

等一等,吃蛋糕之前先考大家一个问题:如果校长大人在蛋糕上切了N刀(校长刀法极好,每一刀都是一个绝对的平面),最多可以把这个球形蛋糕切成几块呢?

做不出这个题目,没有蛋糕吃的!

为-了-母-校-,为-了-蛋-糕-(不是为了DGMM,枫之羽最会浮想联翩…),加-油-!

Input

输入数据包含多个测试实例,每个实例占一行,每行包含一个整数n(1<=n<=1000),表示切的刀数。

Output

对于每组输入数据,请输出对应的蛋糕块数,每个测试实例输出一行。

Sample Input

1

2

3

Sample Output

2

4

8

#include<stdio.h>
typedef long long ll;
ll a[10002]={1,2};
ll b[10002]={1,2};
ll f(ll n)
{
if(n<=1)
{
return b
;
}
else
{
b
=f(n-1)+n;
}
return b
;
}
ll g(ll n)
{
if(n<=1)
{
return a
;
}
else
{
a
=g(n-1)+f(n-1);
}
return a
;
}
int main()
{
ll n;
while(scanf("%lld",&n)!=EOF)
{
printf("%lld\n",g(n));
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: