献给杭电五十周年校庆的礼物
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5805 Accepted Submission(s): 3055
Problem Description
或许你曾经牢骚满腹
或许你依然心怀忧伤
或许你近在咫尺
或许你我天各一方
对于每一个学子
母校
永远航行在
生命的海洋
今年是我们杭电建校五十周年,这是一个值得祝福的日子。我们该送给母校一个怎样的礼物呢?对于目前的大家来说,最好的礼物当然是省赛中的好成绩,我不能参赛,就送给学校一个DOOM III球形大蛋糕吧,这可是名牌,估计要花掉我半年的银子呢。
想象着正式校庆那一天,校长亲自操刀,把这个大蛋糕分给各地赶来祝贺的校友们,大家一定很高兴,呵呵,流口水了吧...
等一等,吃蛋糕之前先考大家一个问题:如果校长大人在蛋糕上切了N刀(校长刀法极好,每一刀都是一个绝对的平面),最多可以把这个球形蛋糕切成几块呢?
做不出这个题目,没有蛋糕吃的!
为-了-母-校-,为-了-蛋-糕-(不是为了DGMM,枫之羽最会浮想联翩...),加-油-!
Input
输入数据包含多个测试实例,每个实例占一行,每行包含一个整数n(1<=n<=1000),表示切的刀数。
Output
对于每组输入数据,请输出对应的蛋糕块数,每个测试实例输出一行。
Sample Input
Sample Output
Author
lcy
Source
杭电ACM集训队训练赛(VIII)
Recommend
lcy
解题思路:对于这类问题,可以当成几何数学做。对于3维问题必有规律:y = a*x ^3 + b*x^2+c*x+d ,只有得到4对x,y的值,即可求出公式,直接带入公式计算即可。
对于本题:
由题可得
x y
0 1
1 2 2 4 3 8
则可得方程组:
1 = d
2 = a + b + c + d
4 = a*8 + b*4 + c*2 + d
8 = a*27 + b*9 + c*3 + d
解方程组得:y = ( x^3 + 5*x + 6 ) / 6
知识拓展:若题目为2维问题,则可根据公式:y = a*x^2 + b*x+c 构建方程组,解方程组后得方程,根据所得方程即可解得题目答案。
#include<stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) printf("%d\n",(n*n*n + 5*n + 6)/6); return 0; }