一个素数的问题~

raulchenbest 2003-10-20 06:47:39
用穷举法求出1到100的素数
我的算法如下
#include<iostream.h>
void main()
{
int i,j,k;
for(i=2;i<=100;i++)
{
k=i/2;
for(j=2;j<=k;j++)
{
if(i%j!=0)
cout<<i;
}
}
}
可是我输出的是3到100里的素数,怎么样才能输入2呢?
...全文
30 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
playboyxp 2003-10-20
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <math.h>
main()
{
int a[100],i,j=1,m;
float k;
for(i=0;i<=99;j++,i++)
a[i]=j;
for(i=0;i<=99;i++)
{
k=sqrt(a[i]);
for(m=2;m<=k;m++)
if (a[i]%m==0) break;
if (m>k) printf("%d is 质数\t",a[i]);
}
}
Wolf0403 2003-10-20
  • 打赏
  • 举报
回复
2 因为是唯一的偶素数,所以不能一起算的。
ttlb 2003-10-20
  • 打赏
  • 举报
回复
试试这个
int i,j,k;
for(i=2;i<=100;i++)
{
// k=i/2;
for(j=2;j<=i;j++)
{
if(i%j==0)
continue
// cout<<i;
}
if (i == j)
cout << i;
}
Darkay_Lee 2003-10-20
  • 打赏
  • 举报
回复
include<iostream.h>
void main()
{
int i,j,k;
cout << 2 << endl;
for(i=2;i<=100;i++)
{
k=i/2;
for(j=2;j<=k;j++)
{
if(i%j!=0)
cout<<i;
}
}
}
raulchenbest 2003-10-20
  • 打赏
  • 举报
回复
那就我上面的那个算法,怎么修改啊?
ttlb 2003-10-20
  • 打赏
  • 举报
回复
for (int i = 2; i <= 100; ++i)
{
for (int j = 2; j < i; ++j)
{
if (i % j == 0)
break;
}
if (i == j)
cout << i << endl;
}

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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