半灰半白 , 求助 !
查看原帖
半灰半白 , 求助 !
1431698
New__bee楼主2024/8/27 21:18
#include <bits/stdc++.h>
using namespace std;
bool z(int a)//质数函数
{
	if(a<=1)
		return 0;
	if(a==2)
		return 1;
	if(a%2==0)
		return 0;
	for(int kl=3;kl*kl<a;kl+=2)
		if(a%kl==0)
			return 0;
	return 1;
}
int main() 
{
	int n,cnt=1;
	cin>>n;
	for(int i=1;i<=n;i++)
		if(z(i)&&n%i==0)//质因数
		{
			int d=0;
			while(n%i==0)
			{
				n/=i;
				d++;
			}
			if(d%2==1)//若是单数
				cnt*=i;//答案乘这个数
		}
	cout <<cnt;//最后 cnt*n 每个质因数个数为偶数
	return 0;//也就是完全平方数
}```
2024/8/27 21:18
加载中...