- 2
- 0
- 约1.13万字
- 约 14页
- 2016-12-21 发布于贵州
- 举报
南开大学上机分类
1、大于正数M且紧靠M的K个数(1)
void num(int m,int k,int xx[]) /*标准答案*/
{int data=m+1; /*整数m+1*/
int half,n=0,I;
while(1) /*无限循环*/
{half=data/2;for(I=2;I=half;I++)
if(data%I==0)break; /*余数为0,则跳出*/
if(Ihalf)
{xx[n]=data;n++;}/*存入数组后,n++;*/
if(n=k)break; /*k为输出个数*/
data++;
} }
程序解析: 该题主要是对要素数方法的理解。n与k之间的关系,需要注意n++放置的位置,特别须要注意因马虎出现的不应该有的失误
或者:
void num(int m,int k,int xx[])
{int i,j,s=0;
for(i=m+1;k0;i++)
{for(j=2;ji;j++)
if(i%j==0) break; /*注:素数为只能被自己和1整除的数.如果i%j等于0,说明i不是素数,跳出本层循环*/
if(i==j)
{xx[s++]=i;k--;}
} }
程序解析:j每次加1,如i%j=0则中途跳出,一直加至i=j,则i为素数,加入数组,同时k--;之后i+
原创力文档

文档评论(0)