筛选法,类似于素数的筛子法则,另一种就是暴利算法
参考
http://blog.sina.com.cn/s/blog_71ded6bf0100skxf.html
#include<iostream>
#define M 500001
int ar[M];
int t,n;
int main()
{
for(int i=1;i!=M;i++){
ar[i]=1;
}
for(int i=2;i<=250001;i++){
for(int j=2*i;j<=500000;j+=i){
ar[j]+=i;
}
}
while (std::cin>>t){
for(int i=0;i!=t;i++){
std::cin>>n;
std::cout<<ar[n]<<std::endl;
}
}
}