注册 登录
编程论坛 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
zolin2019-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