zoukankan      html  css  js  c++  java
  • Prelude

    线性筛素数qwqqqq

    (其实我是懒得写的.....做了两个小时的立体几何要炸了。。。)

    emmmmm其实这题我确实想到了筛法qwqqqq

    然后当时就这样想的:这方法gg没当面讲过   没讲过那么大部分人都不知道   不知道做出来的人应该很少   人很少而且我做对了 gg会让我讲思路  可是我懒得讲  于是  它就完美的超时了

    (其实好吧都是借口

    简单描述一下这道题(忘记拷题目辽。。)

    给定一个范围1~N,求其中素数的个数。

    N超级大大大大大!!!

    第一眼是不是感觉超级水。。虽然事实证明真的很水(大家估计都会做orzzzzz)

    因为素数的倍数一定不是素数

    所以我们用一个长度为N+1的数组保存信息,先假设所有的数都是素数,从第一个素数2开始,把2的倍数都标记为非素数,一直到大于N;然后进行下一趟,找到2后面的下一个素数3,进行同样的处理,直到最后,数组中依然为0的数即为素数。

    然后别忘了特殊处理一下1就好了qwqqq

    (代码不是自己的....容忍一下的懒惰//捂脸

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    char a[30000005];
    long long tot = 1;
    int main()
    {
           //freopen("prime.in","r",stdin);
        //freopen("prime.out","w",stdout);
        int l;
        cin>>l;
        memset(a,48,sizeof(a));
        for(int i = 3;i <= l;i += 2)
        {
            if(a[i] == '0')
            {
                tot++;
                for(int j = i;j <= l;j += 2 * i)
                {
                    a[j] = '1';
                }
            }
        }
        cout<<tot<<endl;
        return 0;
    }

    几何有毒www

  • 相关阅读:
    区块链技术栈-区块链账本
    (引文)可扩展的分布式数据库架构
    CentOS7 通过systemd 添加开机重启服务
    spring发布RMI服务(-)
    使用jdbc连接上oracle的两种方法
    用户态和内核态
    MySQL数据库备份还原(基于binlog的增量备份)
    分布式事务
    shuffle 过程
    MapReduce的流程
  • 原文地址:https://www.cnblogs.com/Grigory/p/10111277.html
Copyright © 2011-2022 走看看