用c语言求素数

其中有 (i=2; i<=a/2; i++) 这句话 就是素数的判断方法 请具体讲解一下 这句话的含义
多谢!
本人新手 请高人说得更详细一点 还有 if (a%i==0) 这句 加上面的就是整个的实质了
求详细讲解这两句话!

首先,一个素数不能被除1和它本身的整数整除,一般求判断a是素数,只需从2,...,a-1都不能整除a,则a就是素数了;
然而,当整数>a/2(不含a)是不可能整除a(因为商已经小于2了);
所以,判断从2,...,a/2的数都不能整除a,则a就是素数了。
例如:
for(i = 2; i <= a/2; i++) {

if (a % i == 0)/* 余数为0,已被整除,不必往下继续算,直接break */

break;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-08
你想下假如对8取余8/2==4,5以后的数字能整除8吗,为了提高效率,只要到4就行了,其实你理解错了,哪是这一句是判断方法啊,
第2个回答  2013-05-09
就是如果从2到a/2之间的数都不能被a整除,那么a就是素数