用积分方法求K次方和数列公式
这是我很早以前在高中时发现的一个通用计算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次方和数列公式的更多相关文章
- hdu6607 min25筛+杜教筛+伯努利数求k次方前缀和
推导过程类似https://www.cnblogs.com/acjiumeng/p/9742073.html 前面部分min25筛,后面部分杜教筛,预处理min25筛需要伯努利数 //#pragma ...
- 【编程题目】题目:定义 Fibonacci 数列 输入 n,用最快的方法求该数列的第 n 项。
第 19 题(数组.递归):题目:定义 Fibonacci 数列如下:/ 0 n=0f(n)= 1 n=1/ f(n-1)+f(n-2) n=2输入 n,用最快的方法求该数列的第 n 项. 思路:递归 ...
- 【严蔚敏】【数据结构题集(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阶斐 ...
- Vijos lxhgww的奇思妙想--求K级祖先
给出一棵树求K级祖先.O(N*logN+Q) 更详细的讲解见:https://www.cnblogs.com/cjyyb/p/9479258.html /* 要求k级祖先,我们可以把k拆成" ...
- poj3660 Cow Contest(Floyd-Warshall方法求有向图的传递闭包)
poj3660 题意: 有n头牛, 给你m对关系(a, b)表示牛a能打败牛b, 求在给出的这些关系下, 能确定多少牛的排名. 分析: 在这呢先说一下关系闭包: 关系闭包有三种: 自反闭包(r), 对 ...
- 傻瓜方法求集合的全部子集问题(java版)
给定随意长度的一个集合.用一个数组表示,如{"a", "b","c"},求它的全部子集.结果是{ {a}, {b}, {c}, {a,b}, ...
- 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% ...
- 有两个序列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 * ...
- 给定一个正整数,实现一个方法求出离该整数最近的大于自身的 换位数 <把一个整数各个数位进行全排列>
"""给定一个正整数,实现一个方法求出离该整数最近的大于自身的 换位数 -> 把一个整数各个数位进行全排列""" # 使用 permu ...
随机推荐
- html--多媒体文件
添加多媒体文件 1.添加多媒体文件标记 <embed src="" width="" height=""></embed& ...
- kwargs.pop是什么意思
pop()函数一般用来删除list列表的末尾元素,同样,kwargs.pop()用来删除关键字参数中的末尾元素,比如:kwargs = {'Michael': 95, 'Bob': 75, 'Trac ...
- Python--day21--复习
序列化模块总结: jison格式化输出: Serialize obj to a JSON formatted str.(字符串表示的json对象) Skipkeys:默认值是False,如果dict的 ...
- java声明异常(throws)
在可能出现异常的方法上声明抛出可能出现异常的类型: 声明的时候尽可能声明具体的异常,方便更好的处理. 当前方法不知道如何处理这种异常,可将该异常交给上一级调用者来处理(非RuntimeExceptio ...
- Linux创建用户、设置密码、修改用户、删除用户命令
与大家分享下Linux系统中创建用户.设置密码.修改用户.删除用户的命令,希望对你有所帮助. useradd testuser 创建用户testuserpasswd testuser 给已创建的用 ...
- H3C 多路径网络中环路产生过程(3)
- JPA查询之Specification以及HQL、SQL查询
1.Specification //查询条件List List<Predicate> predicateList = new ArrayList<Predicate>(); S ...
- 2019-8-31-C#-控制台使用-UAC-权限
title author date CreateTime categories C# 控制台使用 UAC 权限 lindexi 2019-08-31 16:55:58 +0800 2018-07-05 ...
- H3C 示例:计算子网内可用地址数
- H3C查看系统启动配置文件