codeforces 286 div2 B

思路:质因子累乘的值即为所求
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
using namespace std;
typedef long long LL;
int prime(LL n);
int main()
{
LL n,ans,m;
while(~scanf("%lld",&n))
{
/*for(int i=2;i<n;i++)
{
if(n%i==0)
printf("%d ",i);
}*/
ans=;
if(prime(n)|| n==)
ans=n;
else
{
int len=sqrt(n);
for(int i=; i<=len; i++)
{
m=n/i;
if(n%i== && prime(i))
ans*=i;
if(m!=i && m*i==n && prime(m))
ans*=m;
}
}
printf("%lld\n",ans);
}
return ;
}
int prime(LL n)
{
if(n==)
return ;
for(int i=; i<=sqrt(n); i++)
{
if(n%i == )
return ;
}
return ;
}
上一篇:Ubuntu 升级到13.10之后出现Apache2启动失败的问题


下一篇:解决 win10 由于磁盘缓慢造成机器迟钝