题目:3491. 完全平方数
注意:这里的书以后涉及LL,就统一LL来存数据
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=2e5+10;
LL prime[N],ct[N];
int main(){
LL n;
scanf("%lld",&n);
int k=0;
for(LL i=2;i<=n/i;i++){
if(n%i==0){
prime[++k]=i;
while(n%i==0){
n/=i;
ct[k]++;
}
}
}
if(n){
prime[++k]=n;
ct[k]++;
}
LL x=1;
for(int i=1;i<=k;i++){
if(ct[i]%2!=0){
x*=prime[i];
}
}
printf("%lld",x);
return 0;
}