当前位置: 首页 > news >正文

题解:B4410 [GESP202509 一级] 金字塔

题解:B4410 [GESP202509 一级] 金字塔

题目传送门

题意

给定正整数 \(n\),求从 \(1\)\(n\) 的立方和(\(\sum \limits _{i=1} ^{n} i^2\)

数据规模与约定

\(1 \le n \le 50\)

算法 tag

模拟(循环结构),数学

题解

做法1:直接枚举求和

很简单,写个 for 循环枚举 \(1\)\(n\),把每个数的平方加入 \(ans\) 中即可。

Code

void Solve(void)
{int n;cin>>n;long long ans=0;for(int i=1;i<=n;i++)ans+=i*i;cout<<ans;
}

做法2:数学公式法

对于 \(1\)\(n\) 的平方和,有一个公式可以直接套用:

\[\sum \limits _{i=1} ^{n} i^2 = \frac{n(n+1)(2n+1)}{6} \]

公式推导(三角形法):

我们可以构造一个各个位置上数字之和为 \(\sum \limits _{i=1} ^{n} i^2\) 的三角形,如下:

然后旋转两次后得到三个三角形(如下):

把每个位置上的数字加起来,得到:

可以发现,三角形上的每一个位置上三个数的和是 \(2n+1\),一共有 \(1+2+3+4+\cdots +n=\frac{n(n+1)}{2}\) 个数字,总和就是 \((2n+1)\times\frac{n(n+1)}{2}=\frac{n(n+1)(2n+1)}{2}\),但是这是三个三角形的数字之和,我们只需要一个,所以需要把结果 \(\div 3\),得到的结果就是 \(\frac{n(n+1)(2n+1)}{2} \div 3 = \frac{n(n+1)(2n+1)}{6}\)

所以,我们就证明出了 \(\sum \limits _{i=1} ^{n} i^2 = \frac{n(n+1)(2n+1)}{6}\)

有了这个公式,代码就很简单啦。

Code

void Solve(void)
{int n;cin>>n;long long ans=(n*(n+1)*(2*n+1))/6;cout<<ans;
}
http://www.hskmm.com/?act=detail&tid=21646

相关文章:

  • 9.30总结
  • pytorch基本运算-torch.normal()函数输出多维材料时,如何绘制正态分布函数图
  • AT_agc035_c [AGC035C] Skolem XOR Tree
  • 动手动脑 - A
  • 2025.9.30总结 - A
  • 详细介绍:第14章 AI Agent——构建自主智能助理
  • PowerToys新工具Light Switch:让Windows自动切换明暗主题
  • java从word模板生成.doc和.wps文件
  • 炼石#8 T1
  • 详细介绍:《C++ Primer Plus》读书笔记 第二章 开始学习C++
  • 【虚拟机】“:域名解析出现暂时性错误”VMware配置DNS
  • 双抗 ADC:如何突破传统 ADC 瓶颈,成为癌症治疗的精准杀伤利器?
  • 微信聊天记录移动到外置磁盘后,如何解决无法引导聊天记录
  • AI+手搓第一个AI Agent“AI胜铭兰”
  • 基于JDK17的GC调优策略
  • 【MC】我的世界schematic方块坐标提取转为json
  • Jenkins+IIS+Bonobo.Git.Server 搭建适用dotnet开发者的小团队的devops环境
  • JDK17新特性梳理
  • 完整教程:Nginx 高级配置指南:Rewrite、If判断、浏览器分离与防盗链
  • 数据结构学习随笔 第一章
  • 函数-参数+作用域
  • 用 Nim 实现英文数字验证码识别
  • 抓紧上车,别再错过啦, Github 开源后台管理平台,Naive UI !!!
  • 深入解析:【网络编程】套接字入门:网络字节序与套接字种类剖析
  • 地产行业,居然还有这样的开发商 - 智慧园区
  • Tita项目与绩效一体化管理:重构组织效能的数字化中枢
  • 实用指南:电子电气架构 --- 智能座舱域环境感知和人机交互系统
  • 强化学习(二十二)-MADDPG
  • GLM-4.6与DeepSeek-V3.2-Exp发布
  • 2025.9.30——1黄