求小于n的n的因子之和
Sample Input
3 2 10 20
Sample Output
1
8
22
1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 #include<queue> 7 using namespace std; 8 int n,m,t; 9 const int maxint=500000; 10 int f[maxint+1]; 11 void init() 12 { 13 int i,j; 14 f[1]=1; 15 for(i=1;i<=maxint/2;i++) //因数 16 { 17 for(j=i*2;j<=maxint;j+=i) 18 { 19 f[j]+=i; 20 } 21 } 22 } 23 int main() 24 { 25 int i,j,k; 26 init(); 27 //freopen("1.in","r",stdin); 28 scanf("%d",&t); 29 while(t--) 30 { 31 scanf("%d",&n); 32 printf("%d ",f[n]); 33 } 34 }