Ivan

交流能优化思想。
posts - 9, comments - 18, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

求质数的实现代码

Posted on 2006-04-24 18:01 IvanCL 阅读(942) 评论(6)  编辑 收藏 引用
#include  < iostream >
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 <= i;j ++ ) {
   
if ((i % ==   0 ) && (j != i)) {
    h
= 0 ;
    
break ;
   }

  }

  
if (h)
  cout
<< i << endl;
 }

}

本人代码不带注释,有需要了解者与本人联系。

Feedback

# re: 求质数的实现代码  回复  更多评论   

2006-04-24 21:21 by <font color="#FF00FF" >Stone Jiang
#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 IvanCL

不用这么复杂吧。

我觉得sqrt()不用也没什么区别。

# re: 求质数的实现代码  回复  更多评论   

2006-04-25 21:47 by doylecnn
除了sqrt可以减少循环次数外,质数中除了2是偶数外,其余质数均为奇数,所以,可以把外边两个for循环都从=3开始,i++和j++改成i+=2和j+=2(能被任何偶数整除,也能被2整除嘛)...这样可以省掉更多次计算
2?直接输出来嘛...

# re: 求质数的实现代码  回复  更多评论   

2006-04-26 11:58 by Ivan
ok 理解

# re: 求质数的实现代码  回复  更多评论   

2006-04-28 02:19 by
用 筛

# re: 求质数的实现代码  回复  更多评论   

2008-04-27 00:18 by pandakim
交个朋友 我也是写代码的 现在大二

标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航: