作者:不详 来源:互联网   酷勤网收集 2008-03-23

摘要
  下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[])实现函数的要求 ,最后调用函数readwriteDAT()把结果输出到文件out.dat中。例如:若输入17,5,则应输出:19,23,29,31,37。

     题目1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[])实现函数的要求 ,最后调用函数readwriteDAT()把结果输出到文件out.dat中。
    例如:若输入17,5,则应输出:19,23,29,31,37。
    注意:部分源程序已给出。
    请勿改动主函数main()和函数readwriteDAT()的内容。
--------------
类型:素数。
void num(int m,int k,int xx[])  /*标准答案*/
{int data=m+1;
 int half,n=0,I;
  while(1)
  {half=data/2;for(I=2;I<=half;I++)
   if(data%I==0)break;
   if(I>half)
   {xx[n]=data;n++;}
   if(n>=k)break;
   data++;
  } }
或者:
void num(int m,int k,int xx[])
{int i,j,s=0;
for(i=m+1;k>0;i++)
{for(j=2;j<i;j++)
     if(i%j==0) break;  /*注:素数为只能被自己和1整除的数.如果i%j等于0,说明i不是素数,跳出本层循环*/
  if(i==j)
     {xx[s++]=i;k--;}
} }

void num(int m, int k, int xx[])
{ int i=0;
for(m=m+1;k>0;m++)
if(isP(m))
{ xx[i++]=m;
 k--;  }  }

分类: 题库中心 南开100题



关于酷勤 | 联系方式 | 免责声明 | 友情链接