#3511. [GESP202506 五级 C++] 第 18 题

[GESP202506 五级 C++] 第 18 题

下面的C++代码用于输出每个数对应的质因数列表,输出形如:{5: [5], 6: [2, 3], 7: [7], 8: [2, 2, 2]}。

int main() {
    int n, m;
    cin >> n >> m;
    if (n > m) swap(n, m);

    map<int, vector<int>> prime_factor;

    for (int i = n; i <= m; ++i) {
        int j = 2, k = i;
        while (k != 1) {
            if (k % j == 0) {
                prime_factor[i] = prime_factor[i] + j;
                k /= j;
            } else {
                ++j;
            }
        }
    }

    for (auto& p : prime_factor) {
        cout << p.first << ": ";
        for (int v : p.second)
            cout << v << " ";
        cout << endl;
    }

    return 0;
}

{{ select(1) }}

  • 正确
  • 错误