早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言问题关于素数voidnum(intm,intk,intxx[]){intdata=m+1;inthalf,n=0,i;while(1){half=data/2;for(i=2;ihalf){xx[n]=data;n++;}if(n>=k)break;data++;}}if(i>half)这条语句什么意思?i可以出现大于

题目详情
C语言问题关于素数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) {xx[n] = data; n++;} if (n >=k) break; data++; } } if (i > half)这条语句什么意思?i可以出现大于half?希望高手指点下
▼优质解答
答案和解析
这里的思想是,对于一个数data。判断它是不是素数。所以定义一个half=data/2(这里还可以再简的,用成half=sqrt(data);),然后在ihalf,才退出循环。此时就是素数了。