HDU1999

来源:互联网 发布:cocos2dx程序员 编辑:程序博客网 时间:2024/06/06 07:39

传送门

http://acm.hdu.edu.cn/showproblem.php?pid=1999

代码如下:

#include<stdio.h>#define MAX 50      int sum[MAX];int flag[1001]; void init()   {    int i,j;    for(i=1;i<=MAX/2;++i)        for(j=i+i;j<MAX;j+=i){        sum[j]+=i;//        printf("%d %d\n",j,i);        }          for(i=1;i<MAX;++i)        if(sum[i]<=1000)            flag[sum[i]]=1;}  int main(){    int T,n;    init();    scanf("%d",&T);    while(T--)    {        scanf("%d",&n);        if(flag[n])            printf("no\n");        else            printf("yes\n");    }    return 0;}

其中
for(i=1;i<=MAX/2;++i)        for(j=i+i;j<MAX;j+=i){        sum[j]+=i;        printf("%d %d\n",j,i);        }    
i是j的因子,非常强大,可以通过枚举因子来遍历所有的真因子和

原创粉丝点击