小明是一个聪明的孩子,对数论有着很浓烈的兴趣。他发现求1到正整数10^n (10的n次方)之间有多少个素数是一个很难的问题,该问题的难点在于决定于10^n 值的大小。
告诉你n的值,并且用ans表示小于10^n的素数的个数。
现在的问题是:ans这个数有多少位。
输入数据有若干组,每组数据包含1个整数n(1 < n < 1000000000),若遇到EOF则处理结束。


->题解:素数有无穷多个,能估计出小于一个正实数X的素数有多少个,并用F(x)表示, 随着X的增长,

F(x)  /  ( X / ln(x) ) = 1;  值的位数不会出现误差,所以直接求( 10^n / ln(10^n) ) 的位数即可。

根据位数公式:lg( ( 10^n / ln(10^n) ) ) + 1  就是题中的解。

->c++中对数的表示:


#include<iostream>
#include<cmath>
using namespace std;
//const int e=2.71828;
int main ()
{
int x=5;
printf("%lf\n",log(3));//自然对数
printf("%lf\n",log10(10));//lg
printf("%lf\n",log(x)/log(5));//利用换底公式求log5(x);
return 0;
}

AC码:

#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
int n;
while(~scanf("%d",&n))
{
int ans=double(n-log10(n)-log10(log(10)));
printf("%d\n",ans+1);
}
return 0;
}

素数个数的位数<Math>的更多相关文章

  1. nefu117 素数个数的位数,素数定理

    素数个数的位数 Time Limit 1000ms Memory Limit 65536K description 小明是一个聪明的孩子,对数论有着非常浓烈的兴趣.他发现求1到正整数10n 之间有多少 ...

  2. NEFU 117 - 素数个数的位数 - [简单数学题]

    题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=117 Time Limit:1000ms Memory Limi ...

  3. 【NEFU 117 素数个数的位数】(素数定理)

    Description 小明是一个聪明的孩子,对数论有着很浓烈的兴趣. 他发现求1到正整数10n 之间有多少个素数是一个很难的问题,该问题的难以决定于n 值的大小. 现在的问题是,告诉你n的值,让你帮 ...

  4. NEFU_117素数个数的位数

    题目传送门:点击打开链接 Problem : 117 Time Limit : 1000ms Memory Limit : 65536K description 小明是一个聪明的孩子,对数论有着很浓烈 ...

  5. NEFU 117-素数个数的位数(素数定理)

    题目地址:NEFU 117 题意:给你一个整数N(N<1e9).假设小于10^N的整数中素数的个数为π(N).求π(N)的位数是多少. 思路:题目的数据量非常大,直接求肯定TLE,所以考虑素数定 ...

  6. 求小于n的素数个数

    本文是对 LeetCode Count Primes 解法的探讨. 题目: Count the number of prime numbers less than a non-negative num ...

  7. LOJ.6235.区间素数个数(Min_25筛)

    题目链接 \(Description\) 给定\(n\),求\(1\sim n\)中的素数个数. \(2\leq n\leq10^{11}\). \(Solution\) Min_25筛.只需要求出\ ...

  8. 求0到n之间素数个数的序列

    要求: (1) 找出0-1000之间素数(2) 设f(n)表示0-n之间的素数个数,计算出当n=0,1,2,3,.....,997时f(n)的值,并写入文件 分析: 首先找素数使用一个效率较高的方法- ...

  9. LeetCode Count Primes 求素数个数(埃拉托色尼筛选法)

    题意:给一个数n,返回小于n的素数个数. 思路:设数字 k =from 2 to sqrt(n),那么对于每个k,从k2开始,在[2,n)范围内只要是k的倍数的都删掉(也就是说[k,k2)是不用理的, ...

随机推荐

  1. SharedPreferences的工具类

    import android.content.Context; import android.content.SharedPreferences; import android.content.Sha ...

  2. POJ 1966 ZOJ 2182 Cable TV Network

    无向图顶点连通度的求解,即最少删除多少个点使无向图不连通. 我校“荣誉”出品的<图论算法理论.实现及其应用>这本书上写的有错误,请不要看了,正确的是这样的: 对于每个顶点,分成两个点,v和 ...

  3. cPanel下载及安装信息 /usr/local/cpanel/bin/adduser-->realadduser

    cPanel下载及安装信息 2011年03月31日 发布在 编程开发 留下评论   说到cPanel,懂的人都知道玩意得研究研究. ISO安装 http://layer2.cpanel.net/Cen ...

  4. apt-get 总结2

    本文列举了常用的APT命令参数: apt-cache search package 搜索软件包 apt-cache show package  获取包的相关信息,如说明.大小.版本等 sudo apt ...

  5. gerrit review 设置

    $ git config remote.review.pushurl "ssh://someone@ip:29418/the_project" $ git config remot ...

  6. shell脚本学习(一)

    1.hbg@HWM:/$ su root密码:root@HWM:/# $表示普通用户, #表示管理员用户root.root是linux系统中权限最高的用户. 2.在bash中,每个变量的值都是字符串. ...

  7. Android Studio的使用(十四)--如何查看资源或者函数在哪些类中被引用

    1.我们都知道在Eclipse中可以通过快捷键Ctrl+Shift+G开快速搜索方法.类.资源都在那个类中被使用了. 2.在Android Studio中则使用快捷键Ctrl+G.

  8. android动态LinearLayout

    在onCreate函数中: mLinearlayout= new LinearLayout(this); mLinearlayout.setOrientation(LinearLayout.VERTI ...

  9. PureMVC 框架总结收录

    PureMVC框架的目标很明确,就是把程序分为低耦合的三层:Model.View和Controller. 通过使用PureMVC后,我们的代码将集中分为以下几个部分:Façade.Command.Me ...

  10. 剑指offer 旋转数组

    class Solution { public: int minNumberInRotateArray(vector<int> rotateArray) { //常规的遍历方法时间是O(N ...