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

来源:互联网 发布:淘宝服务市场入驻 编辑:程序博客网 时间:2024/05/16 19:54

/*
 * Copyright (c) 2014, 烟台大学计算机学院
 * All rights reserved.
 * 文件名称:test.cpp
 * 作    者:李晓凯
 * 完成日期:2015年 6 月 2 日
 * 版 本 号:v1.0
 *
 * 问题描述:
 * 输入描述:
 * 程序输出:

 */

Problem Description

或许你曾经牢骚满腹
或许你依然心怀忧伤
或许你近在咫尺
或许你我天各一方

对于每一个学子
母校
永远航行在
生命的海洋

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

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

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

做不出这个题目,没有蛋糕吃的!
为-了-母-校-,为-了-蛋-糕-(不是为了DGMM,枫之羽最会浮想联翩...),加-油-!

Input

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

Output

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

Sample Input

123

Sample Output

248

解析:

f(n)=f(n-1)+g(n-1)           {g(n)=n*(n+1)/2+1    (直线分割平面公式)}

     =f(n-2)+g(n-2)+g(n-1)

     =.........

     =f(1)+g(1)+g(2)+.....+g(n-1)

     =(n*n*n*+5*n)/6+1;

代码:

#include <iostream>using namespace std;int main(){    int n;    while(cin>>n)    {        int sum;        sum=(n*n*n+5*n)/6+1;        cout <<sum<< endl;    }    return 0;}


0 0
原创粉丝点击