您的位置:首页 > 其它

hdu-1999-不可摸数

2014-07-31 08:49 190 查看
感觉数据有点小问题,但是却可以ac ,很郁闷。

解题思路:因为数据不是很大,(n<1000) 所以直接暴力求解即可。

程序:

#include<stdio.h>

#include<string.h> 

int main()

{

    int n,i,j,m,temp=0;

    memset(a,0,sizeof(a));

    a[0]=1;a[1]=1;

    for(i=2;i<5000;i++)

       {

           a[i]=0;

           for(j=1;j<=i/2;j++)

            if(i%j==0)

            a[i]+=j;                  //把每个数的因子相加 并记录 

          }

          scanf("%d",&n);

          while(n--)

          {

       

              scanf("%d",&m);

              

              for(i=0;i<=1000;i++)         

                {

                  if(m==a[i])             //判断是否存在 

                  {

                      

                      temp=1;

                      break;

                      

                  }

              

              }

              if(temp==0)

              printf("yes\n");

              else

              printf("no\n");

          }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: