思路:
n一定可以写作:若干个质数的若干次方和的形式
我们需要乘上另一个数,令其积的若干次方均为偶(如果为偶就能分成aa=nx的形式)
让我们转化一下思路,偶次方本来就符合因此无需配,奇次方只需配一个
因此:我们将原数所有成对质因数除去即为所求
C++ 代码
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main()
{
LL n; cin >> n;
for (LL i = 2; i * i <= n; i++)
while (n % (i * i) == 0)n /= i * i;
cout << n;
}
妙啊