这是我很早以前在高中时发现的一个通用计算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. python基础之包的导入

    包的导入 python是一门灵活性的语言 ,也可以说python是一门胶水语言,顾名思义,就是可一导入各类的包, python的包可是说是所有语言中最多的.当然导入包大部分是为了更方便,更简便,效率更 ...

  2. ORACLE SQL数据类型转换

    ORACLE SQL数据类型转换 2019-04-07 22:35:53 广小白 阅读数 429更多 分类专栏: Oracle   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议, ...

  3. win10 + 独显 + Anaconda3 + tensorflow_gpu1.13 安装教程(跑bert模型)

    这里面有很多坑,最大的坑是发现各方面都装好了结果报错  Loaded runtime CuDNN library: 7.3.1 but source was compiled with: 7.4.1, ...

  4. jq css()

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. springmvc 多文件/文件夹上传 下载

    注入依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding&g ...

  6. P1071 01字符串的交叉安排

    题目描述 你有 \(n(1 \le n \le 10^6)\) 个字符'0' 和 \(m(1 \le m \le 10^6)\) 个字符'1'.你需要使用这些字符拼接成一个01字符串,使得满足如下两个 ...

  7. 关于MySQL中查询大数据量的情况下分页limit的性能优化

    https://blog.csdn.net/weixin_37848710/article/details/80772725

  8. oracle中update语句修改多个字段

    如需要修改下列数据:表名为student 一般会这样写: update student set sname = '李四', sage = 20, sbirthday = to_date('2010-0 ...

  9. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  10. Android APP前后台状态切换

    getActivity().getApplication().registerActivityLifecycleCallbacks(new Application.ActivityLifecycleC ...