编程论坛
注册
登录
编程论坛
→
C++教室
c++程序设计
yang158
发布于 2019-03-12 12:30, 1780 次点击
设计程序找出1~100 间的质数,显示出来。用for 或while 或do-while
循环语句实现。
3 回复
#2
流照君
2019-03-12 22:05
#include<iostream>
#define maxn 1000000
using namespace std;
int n,prime[maxn]={1,1,0},prime1[maxn],count=0;
void is_prime()
{
for(int i=2;i<=n;i++)
{
if(prime[i])
continue;
prime1[count++]=i;
for(int j=i*2;j<=n;j+=i)
{
prime[j]=1;
}
}
}
int main()
{
cin>>n;
is_prime();
for(int i=0;i<count;i++)
{
cout<<prime1[i]<<" ";
}
cout<<endl;
return 0;
}
时间复杂度无限接近o(n)
#3
zolin
2019-03-23 21:12
#include <iostream>
bool zhi(int shu);
int main()
{
bool p = false;
for (int i = 2; i <= 100; i++)
{
p = zhi(i);
if (p)
{
std::cout << i << "\t";
}
}
return 0;
}
bool zhi(int shu)
{
int tu = 2;
while (tu < shu)
{
if (shu % tu == 0)
{
return false;
}
tu++;
}
return true;
}
#4
追梦者天行健
2019-04-02 11:42
1