n = p1^e1* p2^e2 * p3^e3* … * pr^er;其中p为质数
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
int main()
{
ll n,i;
while(~scanf("%I64d",&n))
{
ll m=(ll)sqrt(n+0.5);
for(i=2;i<=m;i++)
{
while(n%(i*i)==0)
n/=i;
}
printf("%I64d\n",n);
}
return 0;
}
本文介绍了一种用于求解整数n的质因数分解的简单算法。通过使用平方根来减少检查次数的方法,该算法有效地分解了输入的整数n,并将其表示为一系列质数的乘积。
263

被折叠的 条评论
为什么被折叠?



