题意:输入t,再输入t个数,求每个数n的因子和(1<=N<=500000)
思路:素数筛法的应用
#include<stdio.h>
#include<string.h>
const int maxn = 500010;
int vis[maxn];
int main()
{
int n,t,i,j;
memset(vis,0,sizeof(vis));
for(i = 1; i < maxn; i ++)
for(j = i+i; j < maxn; j += i)
vis[j] += i;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
printf("%d\n",vis[n]);
}
return 0;
}