pat__1007

https://www.patest.cn/contests/pat-b-practise/1007

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. int sushu(int n);
  5. int main() {
  6. int n=0;
  7. scanf("%d",&n);
  8. int a[20000]={0};
  9. int i=2;
  10. int j=0;
  11. for(i=2;i<=n;i++){
  12. if(1==sushu(i)){
  13. a[j]=i;
  14. j++;
  15. }
  16. }
  17. int cont=0;
  18. for(i=0;i<j-1;i++){
  19. if(a[i+1]-a[i]==2){
  20. cont++;
  21. }
  22. }
  23. printf("%d",cont);
  24. return 0;
  25. }
  26. int sushu(int n){
  27. int i=2;
  28. if(n<2){
  29. return 0;
  30. }else{
  31. for(i=2;i<=sqrt(n);i++){
  32. if(n%i==0){
  33. return 0;
  34. }
  35. }
  36. }
  37. return 1;
  38. }
  39. 查看提交

    评测结果

    时间结果得分题目语言用时(ms)内存(kB)用户
    4月04日 10:42答案正确201007C (gcc 4.7.2)15368HaoYoung

    测试点

    测试点结果用时(ms)内存(kB)得分/满分
    0答案正确325610/10
    1答案正确33602/2
    2答案正确23602/2
    3答案正确13682/2
    4答案正确12562/2
    5答案正确153682/2

找素数算法很重要,只需要遍历到根号n即可,不然算法复杂度过高,会超时。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值