题目

image-1676177477134

题解

分解质因数:可以将一个数分解为质因数之积,如果是一个平分数,那么每个质因数都需要是偶数,否则就需要乘这个质因数。

#include<iostream>
using namespace std;
typedef long long LL;
LL n;
int main(){
    cin>>n;
    LL ans=1;
    for(LL i=2;i<=n/i;i++){
        if(n%i==0){
            int s=0;
            while(n%i==0){
                n/=i;
                s++;
            }
            if(s%2)ans*=i;
        }
    }
    if(n>1)ans*=n;
    cout<<ans<<endl;
    return 0;
}