巧用组合数证明平方和、立方和 - Fighlone

fighlone 2021-08-20 原文


巧用组合数证明平方和、立方和


  前言:搞算法,做数学,求和的时候往往会遇到平方求和,立方求和。但是求和的公式并不是那么好背,网上搜一搜都是千篇一律的三次方差,四次方差相减求和相消,一堆数字看着人头皮发麻。。。

  而用组合数就灵活得多~

  证明1(平方求和):  $\sum_{i = 1}^{n}\left(i^{2}\right)=\sum_{i=1}^{n}\left[i\times (i-1)+i\right]$

            $=2\sum_{i=1}^{n}\left[\frac{i\times(i-1)}{1\times 2}\right] + \sum_{i=1}^{n}i$

            $=2\sum_{i=2}^{n}C_{i}^{2} + \sum_{i=1}^{n}i$  (这里的组合数求和方法高中至少学过四种)

                 $=2\times C_{n+1}^{3}+ \frac{n \times (n+1)}{2}$

            $=\frac{n\times(n+1)\times(2n+1)}{6}$

 

     证明2(立方求和)(方法同上类似): $\sum_{i=1}^{n}i^{3}=\sum_{i=1}^{n}\left[i^{2}\times (i+1) – i^{2}\right]$

                  $=\sum_{i=1}^{n}\left[ i\times(i+1)\times(i-1+1) – i^{2}\right]$

                  $=\sum_{i=1}^{n}\left[ (i-1)\times i\times(i+1) +i\times(i+1)- i^{2}\right]$

                  $=6\times\sum_{i=2}^{n}C_{i+1}^{3}+2\times\sum_{i=1}^{n}C_{i+1}^{2}-\sum_{i=1}^{n}i^{2}$ (这里就用到了证明1的平方求和结论)

                    $=6\times C_{n+2}^{4} + 2 \times C_{n+2}^{3}-\frac{n\times(n+1)\times(2n+1)}{6}$

                    $=\frac{(n+2)\times(n+1)\times n\times(n-1)}{4}+\frac{(n+2)\times (n+1)\times n}{3} -\frac{n\times (n+1)\times (2n+1)}{6}$

                    $=\left[\frac{n\times(n+1)}{2}\right]^{2}$

               


 

总结:   很巧妙,本来无从下手的式子,化成组合数的形式再求和就变得迎刃而解。

    而究其组合数的本质,这个东西说白了不就是由加减乘除这些基本的运算组成的吗,但是“组合”起来就有了它自己的性质。

    这和OOP的思想有异曲同工之妙,或许为我们以后解决问题提供了更高一阶的角度。  

 

                  

                  

发表于
2020-05-01 14:41 
Fighlone 
阅读(822
评论(0
编辑 
收藏 
举报

 

版权声明:本文为fighlone原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fighlone/p/12813333.html

巧用组合数证明平方和、立方和 - Fighlone的更多相关文章

  1. [ Java面试题 ]WEB篇

    1、AJAX有哪些有点和缺点? 优点:   1、最大的一点是页面无刷新,用户的体验非常好。   2、使用异步方 […]...

  2. matlab 工具函数 —— normalize(归一化数据)

    function x = normalize(x, mu, sigma) x = bsxfun(@minus, […]...

  3. WEB/HTTP 调试利器 Fiddler 的一些技巧分享 – 季枫

    1、原理简介: Fiddler 是目前最强大最好用的 Web 调试工具之一,它能记录所有客户端和服务器的htt […]...

  4. 硬件原理图英文缩写对照 – 寻丶枫

    硬件原理图英文缩写对照 常用元器件的缩写R:Resistor,电阻。 C:Capacitor,电容。 L:In […]...

  5. 三步彻底关闭谷歌浏览器自动更新 – jack_Meng

    三步彻底关闭谷歌浏览器自动更新 不想让Chrome浏览器自动更新,主要是因每个人可能都不一样。看了网上的很多方 […]...

  6. ThinkPHP 快速入门 – cv_ml_张欣男

    ThinkPHP 快速入门 1. 框架简介 框架是程序结构代码的集合,而不是业务逻辑代码。集合中包含了很多类、 […]...

  7. Hypervisor 还是container – madec

    Hypervisor 还是container 你喜欢用哪个,哪个更好?目前的观点是VMM的资源消耗太大,还是需 […]...

  8. dede自定义搜索advancesearch.htm + search.php 自定义search.htm

    mid是不同内容模型  不同内容模型可以自定义不同的搜索模板 ——- /templat […]...

随机推荐

  1. c# 定时执行python脚本

        using System; using System.Collections.Generic; usi […]...

  2. BlockingQueue 阻塞队列实现异步事件

    转载请注明出处:https://www.cnblogs.com/wenjunwei/p/10411444.ht […]...

  3. 初学c++,vc++6.0必备!

    文章首发 | 公众号:lunvey 作为一个纯粹的萌新,工作需要,刚接触到c++。 按照以往的经验,配置一个开 […]...

  4. 关于建立企业邮箱的解决方案

    关于建立企业邮箱的解决方案   一、公司为何要自建邮件系统 由于公司IT部门发展的滞后,不少中小企业目前仍未给 […]...

  5. 如何快速地从Word 2010文档中提取图片

    你手中有一篇图文混排的Word文档,想把其中的图片快速提取出来,只要按下面的方法操作就行了。   1、启动 M […]...

  6. 昼猫笔记 JavaScript — 闭包

      本次主要内容是 闭包 阅读时间: 约 3分钟 记得点个赞支持支持我哦 初步了解 先看下代码,输出结果是多少 […]...

  7. 微服务架构的优缺点

    什么是微服务微服务是用一组小服务构建的一个应用,服务运行在不同的进程中,服务之间通过轻量的通讯机制进行交互,并 […]...

  8. easyswoole实现线上更新代码

    众所周知,easyswoole作为常驻内存的框架,修改代码并不能直接生效,而是需要重启服务,那么,当你的eas […]...

展开目录

目录导航