void init()
{
memset(isprime, 0, sizeof(isprime));
for(int i = 2; i <= n; i++)
{
if(isprime[i])
prime[t++] = i;
for(int j = i*i; j < n; j++)
isprime[j] = 0;
}
}
void init2()
{
memset(isprime, 0, sizeof(isprime));
for(int i = 2; i <= n; i++)
{
if(isprime[i])
prime[t++] = i;
for(int j = 0; j < t; j++)
{
isprime[i*prime[j]] = 0;
if(i%prime[j]) break;
}
}
}
void solve()
{
for(int i = 0; i < t; i++)
{
while(n%prime[i] == 0)
{
a[cnt].p = prime[i];
a[cnt].n++;
n /= prime[i];
}
cnt++
if(n == 0) break;
}
}
ACM——关于素数
最新推荐文章于 2021-11-12 15:08:23 发布