NYOJ 478(所有因子之和)

#include <stdio.h>
#include<math.h>
//#include<algorithm>
#define N 500001
int a[N];
int main()
{
    int m,temp;int i,j,T;
    for(int i = 0;i<N;i++)
       a[i]=1; 
    // fill(a,a+N,1);
   // temp=(int)(sqrt(N)+0.5);
    for(i=2;i<=N/2;i++)//不能用temp 
        for(j=i*2;j<N;j+=i)
         a[j]+=i;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&m);
        printf("%d\n",m==1?0:a[m]);
    }
    return 0; 
}

  

你可能感兴趣的:(OJ)