Chinaunix

标题: 这个算法,看来看去想不通!? [打印本页]

作者: 绿船    时间: 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);
}
作者: 无双    时间: 2003-01-21 08:31
标题: 这个算法,看来看去想不通!?

  1. 代码
复制代码

写比较整齐
作者: 无双    时间: 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. }


复制代码

作者: jacksun    时间: 2003-01-22 14:36
标题: 这个算法,看来看去想不通!?
楼主用五笔打的吧,是“余”数不是“佘”数. Is YU not SHE.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2