分解质因数(试除法)

原理

见《进阶指南》第137页。

代码

void prime_factorize (int x) {
    for (int i = 2; i <= x / i; ++ i) {
        if (x % i == 0) {
            int j = 0;
            while (x % i == 0) {
                ++ j;
                x /= i;
            }
            cout << i << "^(" << j << ")" << endl;
        }
    }
    if (x > 1) cout << x << "^(1)" << endl;
}
最后修改于: