用数数办法求解:

O OO OOO。。。n个O

OO OOO。。。n个O

OOO。。。n个O

。。。n个O

f(n)=1+2+3+...+n

+2+3+...+n

+3+...+n

...

+n

=n(n+1)/2+(n-1)(n+2)/2+(n-2)(n+3)/2+...+(n-(n-1))*(n+n)/2

=n(n+1)/2+n(n+1)/2-1*2/2 +n(n+1)/2-2*3/2+...+n(n+1)/2-(n-1)*n/2

=n(n+1)*n/2-(1*2+2*3+...+(n-1)*n)/2

=n(n+1)*n/2-(Y)/2

=X

从数数的O图上可知,Y/2为左下角O的数量,X为右上角O的数量

X-Y=1+2+3+...+n=n(n+1)/2

所以:X=n(n+1)(2n+1)/6

Y=(1*2+2*3+...+(n-1)*n)=(n-1)n(n+1)/3

也可以先推出Y:(与X的推导类似)

左下角O的数量(按列相加):Y/2=(n-1)*1+(n-2)*2+..+(n-(n-1))*(n-1)

=(n-1)*1+(n-1)*2-1*2+..+(n-1))*(n-1)-(n-2)*(n-1)

=(n-1)(n-1)*n/2-(1*2+..+(n-2)*(n-1))

=(n-1)(n-1)*n/2-(Y-(n-1)*n)

所以Y=(1*2+2*3+...+(n-1)*n)=(n-1)n(n+1)/3

构造幂函数法求解

由f(n)=n(n+1)/2+(n-1)(n+2)/2+(n-2)(n+3)/2+...+(n-(n-1))*(n+n)/2

知f(n)是由n个关于n的2次幂函数线性组成,设

f(n)=a*n^3+b*n^2+c*n+d是关于[a;b;c;d]的线性方程,取n=1、2、3、4;解线性方程组可得解。

最经典解法

由(n+1)^3=n^3+3n^2+3n+1得到

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

两边从n=1、2、3到n;n项组合相加即可得结果。

前n个自然数的平方和的求解方法--经典与独创相关推荐

  1. 用递归方法求前n个自然数的平方和

    题目要求:用递归方法求前n个自然数的平方和 分析:构造一个递归函数,当n>1的时候,则进行递归调用,当n=1的时候,停止递归:每次递归中,需要完成n*n+余下n-1个自然数的平方和的工作. 方法 ...

  2. 关于前n个自然数的平方和公式的证明方法

  3. 求自然数的平方和python_查找最大N,以使Python中前N个自然数的平方和不超过X

    假设我们有一个给定的整数X,我们必须找到最大值N,以使前N个自然数的总和不超过值X. 因此,如果输入为X = 7,则输出将为2,因为2是N的最大可能值,对于N = 3,级数之和将超过X = 7所以,1 ...

  4. C ++程序查找前n个自然数之和

    Here I have given C++ program to find sum of first n natural numbers. First of all I am reading valu ...

  5. 求和函数java_前n个自然数求和的Java程序

    以下是Java代码到前n个自然数的和– 示例import java.util.*; import java.lang.*; public class Demo{ public static int f ...

  6. LIS(最长上升子序列)问题的三种求解方法以及一些例题

    摘要 本篇博客介绍了求LIS的三种方法,分别是O(n^2)的DP,O(nlogn)的二分+贪心法,以及O(nlogn)的树状数组优化的DP,后面给出了5道LIS的例题. LIS的定义 一个数的序列bi ...

  7. 常微分方程(ODE)求解方法总结

    常微分(ODE)方程求解方法总结 1 常微分方程(ODE)介绍 1.1 微分方程介绍和分类 1.2 常微分方程的非计算机求解方法 1.3 线性微分方程求解的推导过程 2 一阶常微分方程(ODE)求解方 ...

  8. 《C语言程序设计:问题与求解方法》——3.8节不同类型数据之间的类型转换

    本节书摘来自华章社区<C语言程序设计:问题与求解方法>一书中的第3章,第3.8节不同类型数据之间的类型转换,作者:何 勤,更多章节内容可以访问云栖社区"华章社区"公众号 ...

  9. 《C语言程序设计:问题与求解方法》——3.9节常见编程错误

    本节书摘来自华章社区<C语言程序设计:问题与求解方法>一书中的第3章,第3.9节常见编程错误,作者:何 勤,更多章节内容可以访问云栖社区"华章社区"公众号查看 3.9 ...

最新文章

  1. post发送 ArrayBuffer
  2. 访华为5G首席科学家童文:针尖战略引领5G突破
  3. java 数组 包含_Java中高效的判断数组中某个元素是否存在详解
  4. 你在看Netflix,Netflix也在看你
  5. Spring Boot配置@spring.profiles.active配置
  6. 利剑无意之JAVA面试题(一)
  7. Scrapy安装介绍
  8. 关于shiro session失效报错问题
  9. AddStaticMeshComponent
  10. MongoDB使用小结:一些不常见的经验分享
  11. vs2017中配置openGL环境
  12. 在ubuntu16上新创建了一个用户,通过xrdp远程连接时出现灰屏,鼠标是“x”号
  13. Spatial Pyramid 小结
  14. 雷达篇(十) dB和dBm的意义,功率W和dBm之间的换算
  15. 仓央嘉措不负如来不负卿
  16. pojnbsp;2392nbsp;Spacenbsp;Elevatornbsp;背包
  17. webQQ迷你版协议(基于http://w.qq.com)
  18. electron 热更新
  19. 二叉树中已知前序和中序求其后序(图解加技巧让你轻松掌握)
  20. java 判断是否信用卡_用java实现验证输入信用卡号码的正误

热门文章

  1. Docker教程(一) Docker入门教程
  2. 如何使用 IntelliJ IDEA 2017 配置PHP开发环境 及项目搭建
  3. Kubernetes 环境搭建 - MacOS
  4. native vlan(本征vlan)----vlan 1 与一般vlan的区别详细解答、tag字段简介、二层异vlan通信、双vlan tag跳跃攻击(附图,建议电脑观看)
  5. mysql 数据库链路_MySQL数据库使用(二):配置、连接远端数据库
  6. android 记一次解决键盘遮挡问题
  7. jQuery+CSS3实现404背景动画特效【转】
  8. 【Python】 运算符
  9. 【C语言】赋值运算中的类型转换
  10. C#LeetCode刷题之#206-反转链表(Reverse Linked List)