关于质因数

关于如何求解质因数的题

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int num;
    cin>>num;
    for(int i=2;i*i<num;++i){
        if(num%i==0){
            cout<<i<<" ";
            num /= i;
            i=1;
        }
    }

    if(num!=1){
        cout<<num<<" ";
    }
}
// 64 位输出请用 printf("%lld")

我刚开始看到求解质因数还没有判断数是否是质数的逻辑感到很神奇,后来仔细一想确实很巧妙,每次重置都会从小到大进行检查,那么就会自动的把质数计算出来

posted @ 2023-02-15 17:22  heisse  阅读(10)  评论(0编辑  收藏  举报