模板:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n;
int main(){
    cin>>n;
    for(ll i=2;i*i<=n;i++){;
        if(n%i==0){
            while(n%i==0){
                cout<<i<<' ';
                n/=i;
            }
            if(cnt%2!=0){
                sum*=i;
            }
        }
    }
    if(n>1){
        cout<<n<<' ';
    }
    return 0;
}

适用于解决有关完全平方数,找质因数的问题,时间复杂度约为O(√n),注意用long long

更多推荐