来源:HDU 1215
直接打表就好啦,这个类似于筛法的代码看来是需要总结一下了。
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const int MAXN = 500000+5;
int cnt;
int a[MAXN];
void ini(){
cnt=0;
memset(a,0,sizeof(a));
for(int i=1;i<MAXN/2;i++){//i,枚举所有的可能因子
for(int j=2*i;j<MAXN;j+=i)//下面把有的都加上去
a[j]+=i;
}
return ;
}
int main(){
int T;
ini();
//cout<<"x"<<endl;
scanf("%d",&T);
while(T--) {
int n;
scanf("%d",&n);
cout<<a[n]<<endl;
}
return 0;
}
759

被折叠的 条评论
为什么被折叠?



