哪位帮我看看 这里怎么多了一个0了

jongsuny 2008-03-28 10:07:51
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
int n=10000;
int a[10000];
for(int a1=0;a1<n;a1++)
a[a1]=0;
a[0]=2;
a[1]=3;
int k=1;
for(int i=4;i<=n;i++)
{
k=k+1;
for(int j=2;j<=(int)sqrt(i);j++)
{
if(i%j==0)
break;
else if(i>j)
a[k]=i;
}

}
for(int m=0;m<1000;m++)
{
if(m%5==0)
cout<<endl;
cout<<setw(5)<<a[m];
}
cout<<endl;
return 0;
}
...全文
84 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jongsuny 2008-03-29
  • 打赏
  • 举报
回复
对啊,,这个0是多余的,,
应该是
3 5 7 9 11 13 17 19
这么的..不知道是怎么会事..
jongsuny 2008-03-29
  • 打赏
  • 举报
回复
谢谢咯~~~
HelloDan 2008-03-28
  • 打赏
  • 举报
回复

#include<iostream>
#include<cmath>
#include<iomanip>

using namespace std;

int main()
{
int n=10000;
int a[10000];
for(int a1=0;a1 <n;a1++)
a[a1]=0;
a[0]=2;
a[1]=3;
int k=1;
int tmp=0;
for(int i=4;i <=n;i++)
{

tmp=(int)sqrt(i);
for(int j=1;j <=tmp;)
{
j++;
if(i%j==0)
break;
else
{
if(j>tmp)
{
++k;
a[k]=i;
}

}
}
}

for(int m=0;m <1000;m++)
{
if(m%5==0) //5 items per line
cout <<endl;
cout <<setw(5) <<a[m];
}
cout <<endl;
return 0;
}
//不好意思,错了一点点,上面的。
HelloDan 2008-03-28
  • 打赏
  • 举报
回复

#include<iostream>
#include<cmath>
#include<iomanip>

using namespace std;

int main()
{
int n=10000;
int a[10000];
for(int a1=0;a1 <n;a1++)
a[a1]=0;
a[0]=2;
a[1]=3;
int k=1;
int tmp=0;
for(int i=4;i <=n;i++)
{

tmp=(int)sqrt(i);
for(int j=2;j <tmp;j++)
{

if(i%j==0)
break;
else
{
if(i>j)
{
++k;
a[k]=i;
}

}
}
}

for(int m=0;m <1000;m++)
{
if(m%5==0) //5 items per line
cout <<endl;
cout <<setw(5) <<a[m];
}
cout <<endl;
return 0;
}
//楼主真是害人,要不是我心情不好我才不帮你看了。
//

HelloDan 2008-03-28
  • 打赏
  • 举报
回复
楼主你说一下你实现的功能这样别人看起来也容易很多啊。又不写注释。
luhongyu2108 2008-03-28
  • 打赏
  • 举报
回复
这个程序是求小于10000的素数,问题应该是出在

for(int j=2;j <=(int)sqrt(i);j++)
{
if(i%j==0)
break;
else if(i>j)
a[k]=i;
}
coolafei 2008-03-28
  • 打赏
  • 举报
回复
for(int j=2;j <=(int)sqrt(double(i));j++)
{
if(i%j==0) //这个在i是偶数时会跳出,就是说a数组中的k位置不会被赋值,会保持围初始的0,你是说的这个0是多余的?
break;
gisperson 2008-03-28
  • 打赏
  • 举报
回复
LZ到底是觉得哪里不对?问题问清楚了!
jongsuny 2008-03-28
  • 打赏
  • 举报
回复
你执行一下这个 ,,,莫名其妙的多了一个0,,
ryfdizuo 2008-03-28
  • 打赏
  • 举报
回复
lz什么意思了?

64,653

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧