top1编程
← 返回题目
题解

【入门】购买文具

1 条题解

  • 0
    @ 2026-7-30 0:46:05

    解题思路

    把N元换成角,就是10乘N角。设圆珠笔、铅笔、铅笔芯分别买a、b、c支,三种都至少买1支。枚举a和b,根据总价算出c;如果c至少为1,并且总支数a+b+c大于30,就把答案加1。

    参考代码

    // 读取题目给出的数据。
    // 按照题意完成计算。
    // 输出最终答案。
    #include <iostream>
    using namespace std;
    
    int main() {
        int n, a, b, c, sum = 0;
        cin >> n;
        for (a = 1; a < 10 * n; a++) {
            for (b = 1; b < 10 * n; b++) {
                c = 10 * n - 8 * a - 2 * b;
                if (c >= 1 && a + b + c > 30) sum++;
            }
        }
        cout << sum << endl;
        return 0;
    }
    

    复杂度

    时间复杂度是O(N²),空间复杂度是O(1)。

    • 1