• 小素数


    1. 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务
    2. 参考《密码工程》p107伪代码基于Eratosthenes算法实现 int SmallPrimeList(int n, int *plist, int *len), 其中plist返回素数列表,len返回列表长度(10
      ’)
      2 写出测试代码,至少包括 n=2, n=你的四位学号,n>2^20次方的测试代码,提交代码和运行结果截图(5)

    测试结果

    n=2

    n=4位学号

    n>2^20次方

    实验代码

    int main()
    {
     long long int n;
     long long int len = 0;
     printf("input number1:");
        scanf("%lld",&n); 
        assert(n>=2);
        assert(n<=1048576);
        int a[n+1];
        for (int i = 0;i <= n;i++)
        {
            a[i] = i;
        }
    
    
        for (int i = 2;i*i <= n;)
        {
            for (int j = i;j <= n;j++)
            {
                while(0 == a[j] && j <= n)
                    {
                        j++;
                    }
                if (0 == a[j]%i && i != a[j])
                {
                    a[j] = 0;
                }
            }
            if((i-1)%6 == 0)
                i += 4;
            else if((i-5)%6 == 0)
            {
                i += 2;
            }
            else
            {
                i++;
            }
        }
        for(int i = 2;i <= n;i++)
        {
            if (a[i] != 0)
            {
                cout<<a[i]<<" ";
                len=len+1;
            }
        }
        printf("\n");
        printf("len=%lld",len);
        return 1;
    }
    
  • 相关阅读:
    任务框架--Quartz 配置文件
    地址和值
    线性基学习笔记
    S07
    如何在实际项目中使用PageHelper分页插件
    设计模式:原型模式
    常用JS代码片段
    Thomson Plaza里面的三家店以及水果大会
    13.搜索过滤
    07-多线程
  • 原文地址:https://www.cnblogs.com/20191211yss/p/16359286.html
Copyright © 2020-2023  润新知