1 条题解

  • 0
    @ 2089-11-11 6:35:29

    【深基4.例3】分类平均

    解题思路

    枚举 1~n,按能否被 k 整除分别统计两类的总和与数量,最后各自用总和除数量。

    正确性说明

    每个整数恰好属于一个分支,因此两类计数与总和准确;平均数按定义为总和除数量。

    易错点

    必须用实数除法;题目保证两类都非空;先输出可整除类。

    复杂度

    时间 O(n),空间 O(1)。

    参考代码(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        int n, k;
        cin >> n >> k;
        long long sa = 0, sb = 0;
        int ca = 0, cb = 0;
        for (int i = 1; i <= n; i++)
            if (i % k == 0) {
                sa += i;
                ca++;
            } else {
                sb += i;
                cb++;
            }
        cout << fixed << setprecision(1) << 1.0 * sa / ca << " " << 1.0 * sb / cb << "\n";
        return 0;
    }
    
    • 1

    信息

    ID
    56
    时间
    1000ms
    内存
    125MiB
    难度
    进阶
    标签
    递交数
    1
    已通过
    1
    上传者