这是我很早以前在高中时发现的一个通用计算K次方和数列公式的方法,很特别的地方是用了微积分中的积分方法。目前我还没有发现有谁提出和我一样的方法,如果哪位读者有相关发现,麻烦告知我。

大家很多人都知道高斯小时候的故事。故事说的是大约在十岁时,老师在算数课上出了一道难题:「把 1到 100的整数写下来,然后把它们加起来!」高斯的计算方法是:1+100=101,2+99=101,3+98=101,……,49+52=101,50+51=101,一共有50对和为 101的数目,所以答案是 50×101=5050。

这是数列求和,我们在高中时都学过,用数学式表达就是

然而这个方法用到平方和数列就不行了,用归纳法也很难做出来,而且不通用。

在这里,我介绍一下我自己发现的的一个通用方法,用简单的积分公式可以一级一级很简单的算出K次方和数列的公式。

前后幂和公式关系

K是大于等于0的整数,K次方和数列的公式和(K+1)次方和数列的公式有如下关系

1.前后幂次和公式的关系

C是待定常数。

2.当n为1的 时候,和总是为1

3. 各项表达式都没有常数

 的各项表达式都没有常数。

知道了这三个关系,我们就能从0次方和一直算到k次方数列和。

一、0次方数列和

因为每个数的0次方都等于1,所以

这不需要用到其它算法就可以很简单的得出这一结论。

二、1次方数列和

1次方和数列就是高斯遇到的那个问题,结果就是

在这里,用我的方法就繁琐一些,要把上面0次方和的公式代入到这一步。

当n=1时

所以

最后,1次方和数列的公式是

三、2次方和数列

2次方和数列的表达式如下,有人用数学归纳法得出这一公式,但是我觉得难度比较大。

用我的方法按照上面的步骤大致重复一下,可以很快得出答案。

当n=1时

所以

所以平方和数列公式是

四、3次方和数列

3次方和数列的公式是

我们把2次方和的公式代入到这里,用同样步骤可以得出一样的结果。

当n=1时

所以

三次方和数列的公式是

五、4次方和数列

4次方和数列的公式是

目前我还没有找到别人给出的这个公式的证明方法,找出这一个公式他应该比较困难。

我们还是用我们的方法计算。

当n=1时

所以

所以四次方和数列公式是

可以看出,我的方法是简单的、通用的,只用简单的积分公式就快速计算出K次方和数列公式。

用积分方法求K次方和数列公式的更多相关文章

  1. hdu6607 min25筛+杜教筛+伯努利数求k次方前缀和

    推导过程类似https://www.cnblogs.com/acjiumeng/p/9742073.html 前面部分min25筛,后面部分杜教筛,预处理min25筛需要伯努利数 //#pragma ...

  2. 【编程题目】题目:定义 Fibonacci 数列 输入 n,用最快的方法求该数列的第 n 项。

    第 19 题(数组.递归):题目:定义 Fibonacci 数列如下:/ 0 n=0f(n)= 1 n=1/ f(n-1)+f(n-2) n=2输入 n,用最快的方法求该数列的第 n 项. 思路:递归 ...

  3. 【严蔚敏】【数据结构题集(C语言版)】1.17 求k阶斐波那契序列的第m项值的函数算法

    已知k阶斐波那契序列的定义为 f(0)=0,f(1)=0,...f(k-2)=0,f(k-1)=1; f(n)=f(n-1)+f(n-2)+...+f(n-k),n=k,k+1,... 试编写求k阶斐 ...

  4. Vijos lxhgww的奇思妙想--求K级祖先

    给出一棵树求K级祖先.O(N*logN+Q) 更详细的讲解见:https://www.cnblogs.com/cjyyb/p/9479258.html /* 要求k级祖先,我们可以把k拆成" ...

  5. poj3660 Cow Contest(Floyd-Warshall方法求有向图的传递闭包)

    poj3660 题意: 有n头牛, 给你m对关系(a, b)表示牛a能打败牛b, 求在给出的这些关系下, 能确定多少牛的排名. 分析: 在这呢先说一下关系闭包: 关系闭包有三种: 自反闭包(r), 对 ...

  6. 傻瓜方法求集合的全部子集问题(java版)

    给定随意长度的一个集合.用一个数组表示,如{"a", "b","c"},求它的全部子集.结果是{ {a}, {b}, {c}, {a,b}, ...

  7. ACM1229_还是A+B(求A的第K位的数公式:A%((int)(pow(10,K)))

    #include<stdio.h> #include<math.h> int main() { int A,k,B,sum,c,d; while(scanf("%d% ...

  8. 有两个序列A和B,A=(a1,a2,...,ak),B=(b1,b2,...,bk),A和B都按升序排列。对于1<=i,j<=k,求k个最小的(ai+bj)。要求算法尽量高效。

    有两个序列A和B,A=(a1,a2,...,ak),B=(b1,b2,...,bk),A和B都按升序排列.对于1<=i,j<=k,求k个最小的(ai+bj).要求算法尽量高效. int * ...

  9. 给定一个正整数,实现一个方法求出离该整数最近的大于自身的 换位数 <把一个整数各个数位进行全排列>

    """给定一个正整数,实现一个方法求出离该整数最近的大于自身的 换位数 -> 把一个整数各个数位进行全排列""" # 使用 permu ...

随机推荐

  1. html--多媒体文件

    添加多媒体文件 1.添加多媒体文件标记 <embed src="" width="" height=""></embed& ...

  2. kwargs.pop是什么意思

    pop()函数一般用来删除list列表的末尾元素,同样,kwargs.pop()用来删除关键字参数中的末尾元素,比如:kwargs = {'Michael': 95, 'Bob': 75, 'Trac ...

  3. Python--day21--复习

    序列化模块总结: jison格式化输出: Serialize obj to a JSON formatted str.(字符串表示的json对象) Skipkeys:默认值是False,如果dict的 ...

  4. java声明异常(throws)

    在可能出现异常的方法上声明抛出可能出现异常的类型: 声明的时候尽可能声明具体的异常,方便更好的处理. 当前方法不知道如何处理这种异常,可将该异常交给上一级调用者来处理(非RuntimeExceptio ...

  5. Linux创建用户、设置密码、修改用户、删除用户命令

    与大家分享下Linux系统中创建用户.设置密码.修改用户.删除用户的命令,希望对你有所帮助. useradd testuser  创建用户testuserpasswd testuser  给已创建的用 ...

  6. H3C 多路径网络中环路产生过程(3)

  7. JPA查询之Specification以及HQL、SQL查询

    1.Specification //查询条件List List<Predicate> predicateList = new ArrayList<Predicate>(); S ...

  8. 2019-8-31-C#-控制台使用-UAC-权限

    title author date CreateTime categories C# 控制台使用 UAC 权限 lindexi 2019-08-31 16:55:58 +0800 2018-07-05 ...

  9. H3C 示例:计算子网内可用地址数

  10. H3C查看系统启动配置文件