0

0

求和序列 (n^2-1^2) + 2(n^2-2^2) +….n(n^2-n^2)

PHPz

PHPz

发布时间:2023-08-26 18:53:02

|

677人浏览过

|

来源于tutorialspoint

转载

求和序列 (n^2-1^2) + 2(n^2-2^2) +….n(n^2-n^2)

在本文中,我们将研究计算序列和的不同方法- (n^2 - 1^2) + 2(n^2 - 2^2) + …. n(n^2 - n^2)。在第一种方法中,我们将逐个计算范围为1到n的每个i的序列和,并将其添加到最终和中。

在第二种方法中,我们将推导出一个数学公式来计算给定系列的总和,这将使程序的时间复杂度从O(n)降低到O(1)。

问题陈述 − 我们给定一个数字“n”,我们的任务是计算给定序列的和 (n^2 - 1^2) + 2(n^2 - 2^2) + …. n (n^2 - n^2)。

Example

输入 − 数字 = 5

输出 - 当n = 5时,级数 (n^2 - 1^2) + 2(n^2 - 2^2) + …. n(n^2 - n^2) 的和为150。

输入 − 数字 = 3

输出 - 对于n = 3,级数(n^2 - 1^2)+ 2(n^2 - 2^2)+ ….n(n^2 - n^2)的和为18。

方法一

这是最简单的暴力方法来解决序列求和问题。

经过仔细分析这个数列,我们可以得出结论:对于任意一个数n,我们有

Sum = ∑ i*(n^2 - i^2) for i = 1 to i = n.

因此,对于暴力破解方法,我们可以在循环中使用上述公式,i从1到n,以生成所需的求和。

Example

这种方法的代码如下:

#include 
using namespace std;
int main () {
   int num = 3;
   long long sum=0;
   for (int i=1  ; i 

输出

The sum of the series (n^2 - 1^2) + 2(n^2 - 2^2) + …. n(n^2 - n^2) for n = 3 is 18

复杂性

时间复杂度 - O(n),因为我们通过循环迭代从1到n的数字。

空间复杂度 - 由于我们没有使用任何外部空间,因此该方法的空间复杂度为O(1)。

方法二

在这种方法中,我们将推导出一个公式,直接得到所需的序列和,因此不需要迭代,这种方法将以常数时间复杂度解决给定的问题。

动力先锋仿阿里巴巴B2B电子商务系统
动力先锋仿阿里巴巴B2B电子商务系统

前台功能介绍:1、网页首页显示有高级会员推荐,精品推荐,商业机会分类列表,最新供求信息,网站动态,推荐企业,行业动态等;2、商业机会栏目功能有:二级分类,已经带有详细分类的数据库,后台可以更改增加操作,并可以推荐公司,栏目分为分类显示信息,最新的采购、供应、合作和代理信息,搜索时同样按分类,信息,时间,交易类型等搜索;3、展厅展品栏目功能:二级分类,已经带有详细分类的数据库,后台可以更改增加操作,

下载

如前所述,我们得到了系列的一般版本,给定为

Sum = ∑ i*(n^2 - i^2) for i = 1 to i = n.

同一系列可以写成:

Sum =  n^2∑ i - ∑ i^3

我们已经知道计算从1到n的所有数字的和以及计算从1到n的所有数字的立方和的公式,分别为:

从1到n的所有数字的总和

n* ( n+1 )/2 

其中 n 是给定的数字。

现在,求从1到n的所有数字的立方和

(n*( n+1 )/2)^2

所以给定的系列可以写成-

Sum = n^2 * ( n*( n+1 )/2 ) – ( n*( n+1 )/2 )^2

Sum可以进一步简化为-

Sum = ( n * (n+1)/2 )*( n^2 - ( n * (n+1)/2 ))
Sum = n^2 * ( n+1 )/2 * ( n^2 – (n * ( n+1))/2)
Sum = n^2 * ( n+1 ) * ( n-1 )/4
Sum = n^2 * ( n^2 -1 )/4
Sum = (n^4)/4 – (n^2)/4

因此,我们只需要计算Sum = (n^4)/4 - (n^2)/4,对于任何n,以得到所需的序列的和。

Example

这种方法的代码如下:

#include 
using namespace std;
int main () {
   int num = 5;
   long long sum = 0;
   sum = num*num*(num*num-1)/4;
   cout<< " The sum of the series (n^2-1^2) + 2(n^2-2^2) + …. n(n^2-n^2) for n = " << num << " is " < 

输出

The sum of the series (n^2-1^2) + 2(n^2-2^2) + …. n(n^2-n^2) for n = 5 is 150

复杂性

时间复杂度 - O(1),因为我们只是使用我们推导出的公式计算所需的总和。

空间复杂度 - 由于我们没有使用任何外部空间,因此该方法的空间复杂度为O(1)。

结论 - 在本文中,我们讨论了计算所需系列总和的两种方法,并且在第二种方法中,我们将时间复杂度降低到常数。

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

42

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

78

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

24

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

56

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

26

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号