void fun(int m,int *k,int ss[]){int i,j,n=0;for(i=4;i<m;i++){for(j=2;j<i;j++) if(i%j==0) break; if(j<i) ss[n++]=i; *k=n;}}求解!!
2 回答
已采纳
噼喱啪啦
TA贡献392条经验 获得超170个赞
判断m是不是素数,如果m不能被 2 ~ 根号m间任一整数整除,m是素数
所以判断应该这样来,这只是一种方法.
做个循环让i从2开始+1,一直到m,每次判断,if(m%i==0),如果成立就保存m的值到w
for(int i=2;i<m;i++) //m可以优化
{
if(m%i==0)
w=i;
}
然后判断w的值,如果w的值在2~根号m直接,则代表m可以被2~根号m之间的某一个整数整除,则不是素数.
反之则是素数.
- 2 回答
- 0 关注
- 1348 浏览
添加回答
举报
0/150
提交
取消