hdu 1999は数えられません

1967 ワード

タイトルのソース:http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1003&cid=31288&problem=Problem%20%20 C
解法またはタイプ:循環構造.
Description
s(n)は、正の整数nの真の因子の和であり、n以下であり、nを除いた因子の和である.例えば、s(12)=1+2+3+4+6=16.任意の数mであれば、s(m)がnに等しくない場合は、nを不可摸数と呼ぶ.
Input
複数のグループのデータを含んで、まずTを入力して、Tグループのデータがあることを表します.各グループのデータ1行にnを与えます. 
Output
nが触れられない場合は、YESを出力します.そうでなければ、Noを出力します.
Sample Input
3
2
5
8
Sample Output
yes
yes
no
    
    
       1000000           ,               1000,                              1。                         1, 1    ,        。
プログラムコード:
ヽoo.ツ
int main()
{
       inta[50000],b[50000],m,n,i,t,sum,j,d;
       scanf("%d"、&m);
       t=0;
       for(i=1;i<=50000;i+)
              {
                    
                     sum=0
                     for(j=1;j<=i/2;j+)
                     {
                            if(i%j==0)
                            sum+=j;
                     }
                            a[t]=sum
                            t++;     
              }
              for(i=0;i
              {
                     if(a[i]<1000)
                     b[a[i]=1
           }
             
       while(m--)
       {
             
              d=0;
              scanf("%d"、&n);
             
               
              if(b[n])
              printf(no)
              else
              printf(「yes」)
             
       }
       return 0;
)         これはやはり間違っています.
エラー解析:1、最初はメーターを打っていませんでした.1000,000以内のすべての数の真の因子の和を直接計算して、真の因子の和があるかどうかは入力の数に等しいです.タイムアウトしました.
2、メーターを打ち間違えました.