📷 题解插图【GESP】C++二级模拟 luogu-b3994, [GESP 二级模拟] 周长与面积计算
📅 2025-02-07·✍️ OneCoder·计算中...·⏱️ 3 分钟
#GESP#C++#多重循环
GESP二级模拟题,多层循环、分支语句练习,难度★✮☆☆☆。
luogu-B3994 [GESP 二级模拟] 周长与面积计算
题目要求
题目描述
小洛有 个正方形,第 个正方形的边长为 ,第 个正方形的边长为 ,以此类推,第 个正方形的边长为 。它们被紧密地排列成一行。小洛想要知道这个图案的周长和面积分别是多少。
例如当 时的图案如下图所示。红色的边框代表整个图案的周长,绿色区域代表整个图案的面积:
输入格式
输入一个正整数 。
输出格式
输出两行。
第一行一个正整数代表图案的周长;
第二行一个正整数代表图案的面积;
样例输入 #1
BASH
5
样例输出 #1
BASH
40
55
样例输入 #2
BASH
9
样例输出 #2
BASH
108
285
提示
对于 的数据,;
对于所有数据,。
题目分析
解题思路
- 读取输入的正整数 。
- 计算图案的周长 ,根据题目描述,周长为 。
- 计算图案的面积 ,根据题目描述,面积为从 到 的所有正整数的平方和。
- 输出图案的周长 和面积 。
示例代码
CPP
#include <iostream>
using namespace std;
int main() {
long long n; // 定义一个长整型变量n
cin >> n; // 从标准输入流中读取n的值
long long s = 0, l = 0; // 定义两个长整型变量s和l,初始化为0
for (long long i = n; i >= 1; i--) { // 从n开始循环,每次递减1
s += i * i; // 计算i的平方并加到s上
}
l = (1 + n) * n; // 计算l的值
l += n * 2; // 计算l的值
cout << l << endl; // 输出l的值并换行
cout << s; // 输出s的值
return 0; // 返回0,表示程序正常结束
}
💡 OneCoder 资源指引
所有代码开源上传至 GitHub:yummy-code 仓库 · GESP 专题站:GESP WIKI
🤝 技术交流与答疑
欢迎加入:C++ GESP/CSP 考级答疑群(688906745) 与 Java/Python群(982860385),群内日常讨论,互帮互助。
📚
猜你想读 · 相关文章推荐
OneCoder (lihongzheshuai)
一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com
💬 读者留言与交流
还没有留言,快来成为第一个讨论者吧!