免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2022 | 回复: 3
打印 上一主题 下一主题

[算法] 这个算法,看来看去想不通!? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-01-20 21:22 |只看该作者 |倒序浏览
这个道求1~~300之间的素数题,求出的素数再一加一减求和是多少??
#include <stdio.h>;
int cnt,sum;

void countValue()
{ int i,j,a[300];
  for(i=2;i<=300;i++)
   { for(j=2;j<i;j++)  /*这里要是我作的话我想应是j=2;j<=i;j++ 要不然2
      if(i%j == 0)        /*就不包抱在内啦,1不是素数,我的理解这样做下去全
        j=i+1;世界  /*部都等于 0了,那就全部是素数了,想不通??那们高人
     if(j==i)                   /*帮我看看,说明一下为什么?搞了几天也没想出来!唉!
       {a[cnt]=i;
        cnt++;}
   }
   for(i=0;i<cnt;i++)
    {if(i%2!=0)   /*这个地方这样好像不对,比如说  2,3,5,7,11是素数
      a=-a;       /* 2的佘数是0可以为加,可是后的佘数都不为0全是减啦!
     sum=sum+a;/*  如果是一加再一减的话好象不对??不知大伙怎么理解?
    }
}

void main()
{
cnt=sum=0;

countValue();
printf("素数的个数=%d\n",cnt);
printf("按要求计算的值=%d\n",sum);
writeDat();
}

writeDat()
{
FILE *fp;

fp=fopen("OUT11.DAT","w";
fprintf(fp,"%d\n%d\n",cnt,sum);
fclose(fp);
}

论坛徽章:
0
2 [报告]
发表于 2003-01-21 08:31 |只看该作者

这个算法,看来看去想不通!?


  1. 代码
复制代码

写比较整齐

论坛徽章:
0
3 [报告]
发表于 2003-01-21 12:31 |只看该作者

这个算法,看来看去想不通!?


  1. #include <stdio.h>;
  2. int cnt,sum;

  3. void countValue()
  4. {
  5.         int i,j,a[300];
  6.         //i计数器,用于1-300
  7.         //j 计数器,用于辅助计算(检验质数)
  8.         for(i=2;i<=300;i++)
  9.         {
  10.                 for(j=2;j<i;j++)
  11.                         if(i%j == 0)
  12.                                 j=i+1;
  13.                         if(j==i)
  14.                         {a[cnt]=i;
  15.                         cnt++;}
  16.         }    //以上算法是检验质数

  17.         for(i=0;i<cnt;i++)
  18.         {
  19.                 if(i%2!=0)
  20.                         a[i]=-a[i];
  21.                 sum=sum+a[i];
  22.         }
  23.         //以上算法是求和
  24. }

  25. void main()
  26. {
  27.         cnt=sum=0;
  28.        
  29.         countValue();
  30.         printf("素数的个数=%d\n",cnt);
  31.         printf("按要求计算的值=%d\n",sum);
  32.         writeDat();
  33. }

  34. writeDat()
  35. {
  36.         FILE *fp;
  37.        
  38.         fp=fopen("OUT11.DAT","w");
  39.         fprintf(fp,"%d\n%d\n",cnt,sum);
  40.         fclose(fp);
  41. }


复制代码

论坛徽章:
0
4 [报告]
发表于 2003-01-22 14:36 |只看该作者

这个算法,看来看去想不通!?

楼主用五笔打的吧,是“余”数不是“佘”数. Is YU not SHE.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP