由唯一分解定理
Problem Detail - H:.完全平方数 - 追梦算法网
#includeusing namespace std; int main(){ long long n,ans=1; cin>>n; for(int i=2;i*i<=n;++i){//++i比i++快 long long cnt=0;//每次都把cnt重置为0 while(n%i==0){ cnt++;//cnt记录能够被当前i整除次数,如果能整除2的倍数次就代表可以让n变小 n/=i; } if(cnt&1){//判断cnt是否为奇数 ans*=i;//如果为奇数代表ans需要乘上这个无法被完全平方除掉的数字 } } cout<
开始坚持每天至少一篇题解(我认为不是水题的题)
如果代码有问题,还请在评论区指正。



