Codeforces Round #326 (Div. 2)

/*
题意:从一个数的因子里找到 不能被其他数的平方整除的数 。

也就是把不相同的质因子乘起来 。 

*/

#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
int main()
{
    __int64 n,ans=1;
    int i;
    cin>>n;
    for(i=2;i<=sqrt(n);i++)
    {
        if(n%i ==0 )
        {
            ans *= i;
            while(n%i == 0)
            {
                n/=i;
            }
        }
        if(n==1) break;
    }
    cout<<ans*n<<endl;
    return 0;
    
}
原文地址:https://www.cnblogs.com/ember/p/5356798.html