题意:

  有一个金币堆的金字塔,最上层就有一个金币,以后的i层都是边长为i的实心三角形,给你层数,问:一共有多少个金币?(用科学计数法表示,并且保留两位小数)

解题思路:

  根据题意可知求出1*n+2*(n-1)+3*(n-2)+4*(n-3)+.......+(n-2)*3+(n-1)*2+n*1的和即可,但是要化简一下求出n*(n+1)*(n+2)/6;

证明:

  1 * n + 2 (n - 1) + 3 (n - 2) + …… + (n - 2) * 3 + (n - 1) * 2 + n * 1

  = 1 * (n + 1 - 1) + 2 (n + 1 - 2) + 3 (n + 1 - 3) + …… + (n - 2) * (n + 1 - (n - 2)) + (n - 1) * (n + 1 - n - 1) + n * (n + 1 - n)

  =(1 + 2 + 3 + ... + n)(n + 1) - (1^2 + 2^2 + 3^2 + ..... + n^2)

  =n (n + 1)^2 / 2 - n (n + 1) (2n + 1) / 6       (n (n + 1) (2n + 1) / 6后面会证明)

  =n * (n + 1) * (n + 2) / 6          (证毕)

  (n+1)^3-n^3=3n^2+3n+1,

  n^3-(n-1)^3=3(n-1)^2+3(n-1)+1

  

  3^3-2^3=3*(2^2)+3*2+1

  2^3-1^3=3*(1^2)+3*1+1.

  这n个等式两边分别相加得出:

  (n+1)^3-1=3(1^2+2^2+3^2+....+n^2)+3(1+2+3+...+n)+n,

  (n+1)^3-1=3(1^2+2^2+3^2+....+n^2)+3((n+1)n/2)+n,

  整理可得上述式子。

代码:

 #include <stdio.h>
int main ()
{
int n, i, k;
double s; while (scanf ("%d", &n), n)
{
s = 1.0 * n * (n+) * (n+) / ;
k = ;
while (s >= )
{
s /= ;
k++;
}
printf ("%.2fE%d\n", s, k);
} return ;
}
  
 

hdu 1178 Heritage from father (推导)的更多相关文章

  1. HDU 2086 A1 = ? (找规律推导公式 + 水题)(Java版)

    Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2086 ——每天在线,欢迎留言谈论. 题目大意: 有如下方程:Ai = (Ai-1 ...

  2. hdu 5312 Sequence(数学推导——三角形数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5312 Sequence Time Limit: 2000/2000 MS (Java/Others)  ...

  3. HDU 5826 physics (积分推导)

    physics 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5826 Description There are n balls on a smoo ...

  4. HDU 5753 Permutation Bo (推导 or 打表找规律)

    Permutation Bo 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5753 Description There are two sequen ...

  5. Heritage from father

    Problem Description Famous Harry Potter,who seemd to be a normal and poor boy,is actually a wizard.E ...

  6. HDOJ/HDU 1297 Children’s Queue(推导~大数)

    Problem Description There are many students in PHT School. One day, the headmaster whose name is Pig ...

  7. HDOJ(HDU) 2524 矩形A + B(推导公式、)

    Problem Description 给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形,下图为高为2,宽为4的网格. Input 第一行输入一个t, 表示有t组数据,然后每行输入n,m ...

  8. HDOJ(HDU) 1977 Consecutive sum II(推导、、)

    Problem Description Consecutive sum come again. Are you ready? Go ~~ 1 = 0 + 1 2+3+4 = 1 + 8 5+6+7+8 ...

  9. hdu 5312 Sequence(数学推导+线性探查(两数相加版))

    Problem Description Today, Soda has learned a sequence whose n-th (n≥) item )+. Now he wants to know ...

随机推荐

  1. [转]Wireshark抓包工具--TCP数据包seq ack等解读

    原文: http://blog.csdn.net/wang7dao/article/details/16805337/ ---------------------------------------- ...

  2. Nuget公布Dll

    今天要開始写ViewModel了,写完之后系统里的ViewModel都汇总到我这里.然后由我负责ViewModel的公布跟维护,所以Nuget公布Dll就要熟练啦~ 一,安装工具 1.Nuget Pa ...

  3. C++卷积神经网络实例:tiny_cnn代码具体解释(6)——average_pooling_layer层结构类分析

    在之前的博文中我们着重分析了convolutional_layer类的代码结构.在这篇博文中分析相应的下採样层average_pooling_layer类: 一.下採样层的作用 下採样层的作用理论上来 ...

  4. vue 获取当前时间 格式YYYY-MM-DD

    函数封装: /** * 获取当前时间 * 格式YYYY-MM-DD */ Vue.prototype.getNowFormatDate = function() { var date = new Da ...

  5. CSS 相对|绝对(relative/absolute)定位系列(一)

    一.有话要说 以前写内容基本上都是:眼睛一亮——哟呵,这个不错,写!然后去古人所说的茅房里蹲会儿,就有写作的思路了.但是,构思相对/绝对(relative/absolute)定位系列却有好些时日,考虑 ...

  6. CSS制作翻牌特效

    应一个朋友要求替他把原本静态页面做成翻牌的特效. 主要应用了CSS3的transform,transiton.首先写好标签,一个ul下两个li元素,通过position的absolue设置两个li元素 ...

  7. java里int类型转byte类型

    今天在做书上的一个例子的时候, 要使用byte类型,首先我很直接的就写到了byte b = 0XAA, 结果报错, 说从int转换到byte可能会有损失. 我当时就很奇怪, 为什么会出现这种情况呢? ...

  8. 使用HD/IDE层的ioctl接口获取磁盘容量get_hdd_max_sector

    利用HD/IDE layer的ioctl函数接口获取HD/IDE的磁盘容量.HDIO_DRIVE_TASK  能发出訪问LBA地址的命令.但不能读写数据. #include <stdio.h&g ...

  9. 【iOS系列】-oc中的集合类

    OC中的集合有:NSArray 数组 NSDictionary 字典 NSSet 集合 第一:NSArrary 1.1:集合的基本方法 //1.创建集合 //NSArray 是不可变数组,一旦创建完成 ...

  10. GET 与 POST 的理解

    1 HTTP请求      超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信.      HTTP 的工作方式是客户机与服务器之间的请求-应答协议.      比如,客户端(浏览器) ...