| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 971 人关注过本帖
标题:一个代码。。。感觉有点问题
只看楼主 加入收藏
cj0608
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2009-7-16
收藏
得分:0 
今天看了那个原理了。。差不多明白了哈:例如要找2~30中的素数,开始时筛中有2~30的数,然后将筛中的最小素数2,并把2的倍数都排除,这样第一步以后,筛中还剩2和奇数。重复上诉步骤,在筛中保留的中去次小数3作为素数,并将3的倍数排除,反复上述步骤,直至筛中素数7大于30的平方根是结束。。。
我的VC++6.0给坏了。。不能用。。正在下载中,家里网速好慢。。所以发上来前没测下代码,不好意思。。双引号用中文输入发打了没发现。。
2009-07-28 00:20
forclwy
Rank: 4
等 级:业余侠客
帖 子:167
专家分:255
注 册:2008-10-21
收藏
得分:0 
这个代码是求素数的,还是很有意思的说呢
2009-07-28 16:13
zwei_0
Rank: 1
等 级:新手上路
帖 子:18
专家分:1
注 册:2009-3-19
收藏
得分:0 
Eratosthenes 筛法求素数
#include<iostream.h>
#include<iomanip.h>
void main()
{
const int n=1000;
int i=1,j,count=0,sieve[n+1];
for(j=1;j<n;j++)sieve[j]=j; // 把1~n存入sieve[n]
while(i<n+1) // 从while循环开始完成全部素数的产生和输出。
{
while(sieve[i]==1) i++; // 跳过值为1的分量,表示下一个分量必为一素数
cout<<setw(4)<<sieve[i]; // setw(4)设置以宽度为4的格式输出数据。setw(4)
// 等价于cout.width(4)
count++;
if(count%15==0)cout<<endl;
for(j=i;j<n+1;j+=i)
sieve[j]=1;
}
}
2009-07-28 16:18
快速回复:一个代码。。。感觉有点问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026593 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved