不能正常写,不然会超时
太精典了,
太他妈的精典了
hash呀,真是牛B,
还有就是素数筛选法太强大了,
我爱死你们了
#include<stdio.h>
int a[500000];
int main()
{
long i,n,j,r,k;
scanf("%ld",&n);
{
for(i=2;i<500001;i++)
a[i]=1;
a[0]=0;
a[1]=0;
for(i=2;i<=250000;i++)
{
for(j=i+i;j<=500000;j+=i)
{
a[j]+=i;
}
}
for(r=0;r<n;r++)
{
scanf("%ld",&k);
printf("%ld/n",a[k]);
}
}
或
#include<iostream>
using namespace std;
int p[500001];
int main()
{
int n, t;
int i, j, k;
for (i=1; i<=500000; ++i)
{
p[i] = 1;
}
for (i=2; i<=500000/2; ++i)
{
for (j=2; j*i<=500000; ++j)
{
p[j*i] += i;
}
}
scanf("%d", &n);
while (n--)
{
scanf("%d", &t);
printf("%d/n", p[t]);
}
return 0;
}