hdu 1215 七夕节

来源:互联网 发布:windows阻止软件自启 编辑:程序博客网 时间:2024/06/06 06:40

主题思想 ,求因子和,打表,求因子,还是需要点技巧的。

求 maxn 以内数的因子和
代码:

  int m=maxn/2;    memset(a,0,sizeof(a));    for(int i=1;i<=m;i++){        // j must can divide by i j%i is 0        for(int j=2*i;j<maxn;j+=i){            a[j]=a[j]+i;        }    }

AC 代码:

#include <iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=500005;int a[maxn];void init(){    int m=maxn/2;    memset(a,0,sizeof(a));    for(int i=1;i<=m;i++){        // j must can divide by i j%i is 0        for(int j=2*i;j<maxn;j+=i){            a[j]=a[j]+i;        }    }}int main(){    init();    int T;    scanf("%d",&T);    int n;    while(T--){        scanf("%d",&n);        printf("%d\n",a[n]);    }    return 0;}
原创粉丝点击