NEFU 117-素数个数的位数(素数定理)
题目地址:NEFU 117
题意:给你一个整数N(N<1e9)。假设小于10^N的整数中素数的个数为π(N)。求π(N)的位数是多少。
思路:题目的数据量非常大,直接求肯定TLE,所以考虑素数定理。
素数定理:记π(N)是<=N的素数个数,那么有
一个数x的位数能够用lg(x)+1来求,所以本题中lg(N/InN)+1就是所求,由于N=10^N。所以位数=lg(10^N)-lg(In(10^N))+1=N-lgN-lg(In(10))+1.
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <sstream>
#include <algorithm>
#include <set>
#include <queue>
#include <stack>
#include <map>
#include <bitset>
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
typedef long long LL;
const int inf=0x3f3f3f3f;
const double pi= acos(-1.0);
const double esp=1e-7;
const int Maxn=1e6+10;
int main()
{
double n,m;
while(~scanf("%lf",&n)) {
m=(n-log10(n)-log10(log(10)));
printf("%d\n",(int)m+1);
}
return 0;
}
NEFU 117-素数个数的位数(素数定理)的更多相关文章
- 【NEFU 117 素数个数的位数】(素数定理)
Description 小明是一个聪明的孩子,对数论有着很浓烈的兴趣. 他发现求1到正整数10n 之间有多少个素数是一个很难的问题,该问题的难以决定于n 值的大小. 现在的问题是,告诉你n的值,让你帮 ...
- NEFU 117 - 素数个数的位数 - [简单数学题]
题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=117 Time Limit:1000ms Memory Limi ...
- nefu117 素数个数的位数,素数定理
素数个数的位数 Time Limit 1000ms Memory Limit 65536K description 小明是一个聪明的孩子,对数论有着非常浓烈的兴趣.他发现求1到正整数10n 之间有多少 ...
- NEFU_117素数个数的位数
题目传送门:点击打开链接 Problem : 117 Time Limit : 1000ms Memory Limit : 65536K description 小明是一个聪明的孩子,对数论有着很浓烈 ...
- 素数个数的位数<Math>
小明是一个聪明的孩子,对数论有着很浓烈的兴趣.他发现求1到正整数10^n (10的n次方)之间有多少个素数是一个很难的问题,该问题的难点在于决定于10^n 值的大小. 告诉你n的值,并且用ans表示小 ...
- 素数定理 nefu 117
素数定理: 随着x的增长,P(x) ≍x/ln(x) ,P(x)表示(1,x)内的素数的个数. 这个定理,说明在1-x中,当x大到一定程度时,素数分布的概率为ln(x) 竟然还有一道题目. 素数个数的 ...
- 素数分布 - nefu 117
素数个数的位数 - nefu 117 普及一个公式: 位数公式:要求一个数x的位数,用公式:lg(x)+1 素数分布:n/ln(n) 所以直接求解n/ln(n)的位数就可以了 代码如下: #inclu ...
- nefu 117 素数定理
小明是一个聪明的孩子,对数论有着很浓烈的兴趣.他发现求1到正整数10n 之间有多少个素数是一个很难的问题,该问题的难以决定于n 值的大小.现在的问题是,告诉你n的值,让你帮助小明计算小于10n的素数的 ...
- LeetCode Count Primes 求素数个数(埃拉托色尼筛选法)
题意:给一个数n,返回小于n的素数个数. 思路:设数字 k =from 2 to sqrt(n),那么对于每个k,从k2开始,在[2,n)范围内只要是k的倍数的都删掉(也就是说[k,k2)是不用理的, ...
随机推荐
- subline text 工具快捷键说明
编辑 ctrl + enter 光标当前行下一行新增一行,并且光标跳到下一行进行编辑 ctrl + shift +enter 光标当前行上一行新增一行,并且光标跳到上一行进行编辑 ...
- Eureka的自我保护机制
最近项目在Kubernetes上使用Eureka遇到一些问题,在网站上找到一篇针对Eureka自我保护机制原理的文章,觉得不错,总结如下: Eureka的自我保护特性主要用于减少在网络分区或者不稳定状 ...
- shell 脚本中执行mysql语句
通过hash建表之后,表的数据量巨大2048,那怎么去验证表是否建成功呢? 逻辑生成表名这部分就不写了.只要能建表成功,这部分的脚本肯定是有的.那么怎么在shell中执行selec查询并返回呢 只要在 ...
- [转]Working with Parameters and Return Codes in the Execute SQL Task
本文转自:http://msdn.microsoft.com/zh-cn/magazine/cc280502(en-us,SQL.100).aspx SQL statements and stored ...
- sqlite 二进制字段 (zz)
有时我们用数据库存储文件,需要用到二进制字段,下面列常用方法. 1.写二进制数据 sqlite3 * db; int result; char **errmsg =NULL; result = sql ...
- WinForm客户端调用 WebService时 如何启用Session
WinForm客户端调用 WebService时 如何启用Session 摘自: http://www.cnblogs.com/swtseaman/archive/2011/04/18/2020176 ...
- linux-文件系统基本概念
linux中全部数据都是用文件存储,存放在文件夹中,文件夹呈树状结构. (一)文件类型 1.普通文件 包含文本文件.源码文件及可运行文件等.linux中不区分文本和二进制文件. 2.文件夹 类似win ...
- Maven 多套环境配置
在Java开发中会配置不同环境,可通过Maven的profile指定不同的环境配置,pom.xml配置如下: <project xmlns="http://maven.apache.o ...
- Adobe Acrobat Pro 11安装激活
运行keygen.exe,点击"generate"一次,生成一个序列号(在安装过程中需要填写序列号). 断网,打开软件,直到出现以下界面,点击蓝色字体"连接Interne ...
- 解决tomcat提交的数据乱码的问题
有时,开发过程中会遇到前端传入“中文”并返回时,会出现乱码!主要是因为前端通过tomcat7提交的数据就出现了乱码的问题,也就说根源在于tomcat7. 有2中方案解决该问题: (1)使用tomcat ...