nyoj22题

#include<stdio.h>
02. #include <math.h>
03. int main()
04. {
05. int m,n,i,j,a[1000],flag=0;
06. long s;
07. scanf("%d",&m);
08. while(m--)
09. {
10. s=0;
11. scanf("%d",&n);
12. for(i=0;i<n;i++)
13. scanf("%d",&a[i]);
14. for(i=0;i<n;i++)
15. {
16. if(a[i]==1) continue;
17. flag=0;
18. for(j=2;j<=sqrt(a[i]);j++)
19. {
20. if(a[i]%j==0)
21. {flag=1;break;}        
22. }
23. if(flag==0) s+=a[i];
24. }
25. printf("%d\n",s);
26. }
27. return 0;
28. }这是标准答案,感觉确实比我写的好;下面是我写的:#include<stdio.h>#include<stdlib.h>
int main()
{  
     int N,a[1000],x,i,j;
     int s;
      scanf("%d",&N);
      while(N--)
        {
              s=0;
              scanf("%d",&x);
                   for(i=0;i<x;i++)
                      scanf("%d",&a[i]);
                          for(i=0;i<x;i++){
                             for(j=2;j<a[i];j++)
                             if(a[i]%j==0)
                               break;
                             if(j==a[i])
                                s=a[i]+s;
                           }
                  printf("%d\n",s);
       }
                  system("pause");
                  
    }
还有很长的路要走的.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值