首页 新闻 搜索 专区 学院

用筛选法求100之内的素数

0
悬赏园豆:5 [已解决问题] 解决于 2016-06-04 19:32

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int a[100],i,j;
for(i=3;i<100;i++)
{
a[i]=i;
for(j=2;j<i;j++)
{
if(i%j==0)
cout<<i<<endl;
}
}
return 0;
}

为什么这样写运行出来的结果很多书都是重复的。

或者求更好的编程内容

叮咚!!!的主页 叮咚!!! | 初学一级 | 园豆:185
提问于:2016-05-24 09:48
< >
分享
最佳答案
0

你在这个下面加上

if(i%j==0)

{
cout<<i<<endl;

break;

}

收获园豆:5
刘宏玺 | 专家六级 |园豆:14004 | 2016-05-24 10:07

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int a[100],i,j;
for(i=3;i<100;i++)
{
a[i]=i;
for(j=2;j<i;j++)
{
if(i%j!=0)
{
cout<<i<<endl;
break;
}
}
}
return 0;
}

这个这样写可以?

叮咚!!! | 园豆:185 (初学一级) | 2016-05-24 21:59

@叮咚!!!: 我也没有验证过,不过应该可以解决重复问题

刘宏玺 | 园豆:14004 (专家六级) | 2016-05-25 10:04

@刘宏玺: 不是重复的问题,刚开始的问题是列出那些不是素数的,现在我改成红字那个,就是为了求出是素数的,而且他求出来有些不是素数又重复,想问下怎么解决

叮咚!!! | 园豆:185 (初学一级) | 2016-05-25 22:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册