# re: 求质数的实现代码 回复 更多评论
2006-04-24 21:21 by
#include < iostream >
#include <math.h>
using namespace std;
void main() {
int h,g = 0 ;
cout << " 请输入范围: " ;
cin >> g;
for ( int i = 2 ;i <= g;i ++ ) {
h = 1 ;
for ( int j = 2 ;j <= sqrt( i);j ++ )
{
if ((i % j == 0 ) && (j != i)) {
h = 0 ;
break ;
}
}
if (h)
cout << i << endl;
}
}
# re: 求质数的实现代码 回复 更多评论
2006-04-25 11:16 by
不用这么复杂吧。
我觉得sqrt()不用也没什么区别。
# re: 求质数的实现代码 回复 更多评论
2006-04-25 21:47 by
除了sqrt可以减少循环次数外,质数中除了2是偶数外,其余质数均为奇数,所以,可以把外边两个for循环都从=3开始,i++和j++改成i+=2和j+=2(能被任何偶数整除,也能被2整除嘛)...这样可以省掉更多次计算
2?直接输出来嘛...