如题。$n \leq 1e9$。

方法零:二分,然后洲阁筛。要魔改一下的洲阁筛。跑得慢。卡卡能过。没意思。

 //#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
//#include<map>
#include<math.h>
//#include<time.h>
//#include<complex>
#include<algorithm>
using namespace std; #define LL long long
LL n,mzz=;
#define maxn 640011
#define maxm 10000011
int prime[maxm/],sp[maxm],lp; bool notprime[maxm];
void pre()
{
lp=;
for (int i=;i<=mzz;i++)
{
if (!notprime[i]) {prime[++lp]=i;}
sp[i]=sp[i-]+!notprime[i];
for (int j=,tmp;j<=lp && 1ll*prime[j]*i<=mzz;j++)
{
notprime[tmp=i*prime[j]]=;
if (i%prime[j]); else break;
}
}
} LL G(int i,LL j)
{
if (i==) return (j+)>>;
if (j<=prime[i]) return ;
if (j<=mzz && j<=(LL)prime[i]*prime[i]) return sp[j]+-i;
return (G(i-,j)-G(i-,j/prime[i]));
} LL mg(LL n) {return G(lp,n);} LL calc(LL n)
{
if (n<=mzz) return sp[n];
lp=; for (;(LL)prime[lp]*prime[lp]<=n;lp++);
return mg(n)-+sp[prime[lp]];
} int q;
int main()
{
scanf("%d",&q); pre();
LL L=,R=;
if (q>=) L=; else R=;
if (q>=) L=; else R=;
if (q>=) L=; else R=;
if (q>=) L=; else R=;
if (q>=) L=; else R=;
while (L<R)
{
LL mid=(L+R)>>,tmp;
if ((tmp=calc(mid))>=q) R=mid;
else L=mid+;
}
printf("%lld\n",L);
return ;
}

51nod1184 第N个质数的更多相关文章

  1. BZOJ 2818: Gcd [欧拉函数 质数 线性筛]【学习笔记】

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 4436  Solved: 1957[Submit][Status][Discuss ...

  2. [LeetCode] Count Primes 质数的个数

    Description: Count the number of prime numbers less than a non-negative number, n click to show more ...

  3. 为什么质数检验到 N的开方 就可以结束了

    以为所有N的除数都是以根号N为轴对称的. 例如16的开方为4: 16%1 == 0 则1 与 16 都是16的除数. 16%2 == 0 则2 与 8 都是16的除数. 16%4 ==0 则4 为16 ...

  4. 求两个数字的最大公约数-Python实现,三种方法效率比较,包含质数打印质数的方法

    今天面试,遇到面试官询求最大公约数.小学就学过的奥数题,居然忘了!只好回答分解质因数再求解! 回来果断复习下,常用方法辗转相除法和更相减损法,小学奥数都学过,很简单,就不细说了,忘了的话可以百度:ht ...

  5. PHP面试题之实现输出100以内的质数

    最近求职时的其中一道面试题: 求100之内的质数 <? //求100以内质数 for ($i = 1; $i <= 100; $i++) { $k = 0; for ($j = 1; $j ...

  6. shell统计指定范围内的所有质数以及它们的和

    #!bin/bash a= $) ;do n= $x);do ];then n=$[$n+] fi done ];then { echo -n -e "$x\t" sum=$[$s ...

  7. CNUOJ 0486 800401反质数

    难度级别:A: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 将正整数 x 的约数个数表示为 g(x).例如,g(1)=1,g(4)=3, g ...

  8. NOI 1.5 44:第n小的质数

    ---恢复内容开始--- 描述 输入一个正整数n,求第n小的质数. 输入 一个不超过10000的正整数n. 输出 第n小的质数. 样例输入 10 样例输出 29 方法1:合数一定可以表示成一个比它小的 ...

  9. 求第N个质数算法

    用python求从1开始第1000个质数? 质数:只能被1和它本身整除的数.那好,我们开始写程序(一个小算法). def calc_prime(prime,num): i,gab=7,2 while ...

随机推荐

  1. Elasticsearch (1) - 索引库 文档 分词

    创建索引库 ES的索引库是一个逻辑概念,它包括了分词列表及文档列表,同一个索引库中存储了相同类型的文档.它就相当于MySQL中的表,或相当于Mongodb中的集合. 关于索引这个语: 索引(名词):E ...

  2. Spring-bean(二)

    命名空间 自动装配 bean之间的关系:继承:依赖 使用外部属性文件 SpEL bean的生命周期 bean的后置处理器 (一)util命名空间 当用list,set等集合时,不能将集合作为独立的be ...

  3. CF989C A Mist of Florescence

    思路: 有趣的构造题. 实现: #include <bits/stdc++.h> using namespace std; ][]; void fillin(int x, int y, c ...

  4. Uniform Resource Identifier

    https://en.wikipedia.org/wiki/Uniform_Resource_Identifier   "URI" redirects here. For othe ...

  5. Unity3D_最简单的开始界面_结束界面

    开始界面1.创建一个新的场景添加button 2.C#脚本LoadingGame.cs using System.Collections;using System.Collections.Generi ...

  6. zabbix auto discovery

    1.configuration>discovery>create discovery rule ip range:192.168.43.2-254 check: http 80 2.con ...

  7. sql数据表的设计思路

    好的表结构分的比较细致,个人理解大概主要分为主表.明细.历史记录表.中间表,辅助表结构应该分为:类型表.状态表.统计表.统计明细表等.为了一个功能加那么多表实在是多余,如果写一个非常复杂的业务逻辑还是 ...

  8. SQL语句操作SQL SERVER数据库登录名、用户及权限

    要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权: 获得准许连接 SQL Server 服务器的权利: 获得访问特定数据库中数据的权利(select, update, de ...

  9. 8. EVENTS

    8. EVENTS EVENTS表提供有关事件管理器事件的信息,这将在"使用事件调度程序"中讨论. EVENTS表有以下列: - EVENT_CATALOG:事件所属目录的名称.这 ...

  10. php S3

    转载自:http://www.cnblogs.com/wangxusummer/p/6398772.html <?php /* * To change this license header, ...