top1编程
← 返回题目
题解

正方形的周长和面积

1 条题解

  • 0
    @ 2026-8-3 18:17:33

    解题思路

    正方形四条边一样长。已知边长是 a,那么有两个公式:

    • 周长 = 边长 × 4,也就是四条边加起来:4 * a;
    • 面积 = 边长 × 边长,也就是长乘宽(正方形长和宽相等):a * a。

    可以这样想:正方形像一块方饼干,边长是 5 厘米。围一圈(周长)就是 5+5+5+5=20 厘米;它的表面(面积)是 5 行 5 列的小格子,一共 25 个小格子。

    步骤:先用 cin 把边长读进变量 a,再用公式算出周长 c 和面积 s,最后输出。题目要求两个数之间用空格隔开,所以输出语句里要在两个数中间夹一个字符串 " "。

    关于数据范围:本题边长在 1 到 20 之间,最大的面积是 20×20=400,用 int 类型完全装得下,不用担心溢出。

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        int a;             // a:正方形的边长
        cin >> a;          // 读入边长
        int c;             // c:周长
        int s;             // s:面积
        c = a * 4;         // 周长 = 边长 × 4
        s = a * a;         // 面积 = 边长 × 边长
        // 用空格隔开输出周长和面积
        cout << c << " " << s << endl;
        return 0;
    }
    

    复杂度分析

    程序只做一次读入、两次乘法运算和一次输出,每一步都是固定数量的操作,不随边长大小变化。所以时间复杂度是 O(1)。

    空间上只用了 3 个 int 变量,占用的内存固定,空间复杂度也是 O(1)。

    这类“直接套公式”的题都是 O(1),因为要做多少步早就定死了,数据范围再大也不会多算一步。

    • 1