文章

1

粉丝

18

获赞

3

访问

205

头像
质因数个数 题解:
P1156 清华大学上机题
发布于2025年3月22日 22:27
阅读数 205

#include <bits/stdc++.h>
using namespace std;
int main() {
    long long int n;
    while (cin >> n) {
        int c = 0;
        // 从最小的质数 2 开始尝试,不需要判断i是否为质数。因为从 2 开始除,第一个能整除的数必然是质数。
        for (long long i = 2; i * i <= n; i++) {
            while (n % i == 0) {
                c++;
                n /= i;
            }
        }
        // 如果 n 仍然大于 1,说明 n 本身是一个质数 
        if (n > 1) {
            c++;
        }
        cout << c << endl;
    }
    return 0;
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发