[GESP 二级模拟] 周长与面积计算

[GESP 二级模拟] 周长与面积计算

GESP二级模拟题,多层循环、分支语句练习,难度★✮☆☆☆。

luogu-B3994 [GESP 二级模拟] 周长与面积计算

题目要求

题目描述

小洛有 nn 个正方形,第 11 个正方形的边长为 11,第 22 个正方形的边长为 22,以此类推,第 nn 个正方形的边长为 nn。它们被紧密地排列成一行。小洛想要知道这个图案的周长和面积分别是多少。

例如当 n=5n=5 时的图案如下图所示。红色的边框代表整个图案的周长,绿色区域代表整个图案的面积:

P1304

输入格式

输入一个正整数 nn

输出格式

输出两行。

第一行一个正整数代表图案的周长;

第二行一个正整数代表图案的面积;

样例输入 #1

5

样例输出 #1

40
55

样例输入 #2

9

样例输出 #2

108
285

提示

对于 70%70\% 的数据,1n1001 \leq n \leq 100

对于所有数据,1n1000001 \leq n \leq 100000


题目分析

解题思路

  1. 读取输入的正整数 nn
  2. 计算图案的周长 ll,根据题目描述,周长为 (1+n)×n+n×2(1 + n) \times n + n \times 2
  3. 计算图案的面积 ss,根据题目描述,面积为从 nn11 的所有正整数的平方和。
  4. 输出图案的周长 ll 和面积 ss

{% include custom/custom-post-content-inner.html %}


示例代码

#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,表示程序正常结束
}

{% include custom/custom-post-content-footer.md %}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

luogu-”系列题目可在 洛谷题库 在线评测。

bcqm-”系列题目可在 编程启蒙题库 在线评测。

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on