用积分方法求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 ...
随机推荐
- python基础之包的导入
包的导入 python是一门灵活性的语言 ,也可以说python是一门胶水语言,顾名思义,就是可一导入各类的包, python的包可是说是所有语言中最多的.当然导入包大部分是为了更方便,更简便,效率更 ...
- ORACLE SQL数据类型转换
ORACLE SQL数据类型转换 2019-04-07 22:35:53 广小白 阅读数 429更多 分类专栏: Oracle 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议, ...
- win10 + 独显 + Anaconda3 + tensorflow_gpu1.13 安装教程(跑bert模型)
这里面有很多坑,最大的坑是发现各方面都装好了结果报错 Loaded runtime CuDNN library: 7.3.1 but source was compiled with: 7.4.1, ...
- jq css()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- springmvc 多文件/文件夹上传 下载
注入依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding&g ...
- P1071 01字符串的交叉安排
题目描述 你有 \(n(1 \le n \le 10^6)\) 个字符'0' 和 \(m(1 \le m \le 10^6)\) 个字符'1'.你需要使用这些字符拼接成一个01字符串,使得满足如下两个 ...
- 关于MySQL中查询大数据量的情况下分页limit的性能优化
https://blog.csdn.net/weixin_37848710/article/details/80772725
- oracle中update语句修改多个字段
如需要修改下列数据:表名为student 一般会这样写: update student set sname = '李四', sage = 20, sbirthday = to_date('2010-0 ...
- CodeForces 375D Tree and Queries
传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...
- Android APP前后台状态切换
getActivity().getApplication().registerActivityLifecycleCallbacks(new Application.ActivityLifecycleC ...