题目传送门:点击打开链接

Problem : 117

Time Limit : 1000ms

Memory Limit : 65536K

description

小明是一个聪明的孩子,对数论有着很浓烈的兴趣。

他发现求1到正整数10n 之间有多少个素数是一个很难的问题,该问题的难以决定于n 值的大小。现在的问题是,告诉你n的值,让你帮助小明计算小于10n的素数的个数值共有多少位?

input

输入数据有若干组,每组数据包含1个整数n(1 < n < 1000000000),若遇到EOF则处理结束。

output

对应每组数据,将小于10n 的素数的个数值的位数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。

sample_input

3
7

sample_output

3
6

hint

素数定理

素数定理:素数有无穷多个,能估计出小于一个正实数x的素数有多少个,并用PI(x)来表示,这就是素数定理。随着x的增长,PI(x)/(x/ln(x)) == 1.

这道题的数据量很大,因为10的n次方很大,会溢出,不能直接运算,该题只是求素数分布值的位数。考虑到使用素数定理,因为n/ln(n)与素数分布值PI(n)随着n值的增大越来越接近,值的位数更不会出现误差,所以直接求n/ln(n)的位数即可。

位数公式得知:[log10(n/ln(n))]+1

#include <iostream>
#include <cmath>
#include <cstring>
#include <string>
#include <cstdio>
#include <cstdlib>
using namespace std;char a[100];int main() {int n;while (cin >> n) {int res = (int) (n - log10(n) - log10(log(10)));//memset(a, 0, sizeof(a));cout << res + 1<< endl;}return 0;
} 

转载于:https://www.cnblogs.com/Tovi/p/6194844.html

NEFU_117素数个数的位数相关推荐

  1. nefu 117 大数素数个数的位数

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

  2. nefu 117 素数个数的位数 (素数定理)

    题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=117 解题方案: 素数定理:对正实数xx,定义π(x)π(x)为 ...

  3. 素数的分布(素数定理),求1~10^n 素数个数的位数

    素数定理: 素数有无穷多个,能估计出一个小于正实数x的素数有多少个,并用π(x)来表示,这就是素数定理 定理内容: 随着x的增长,π(x)/(x/lnx)=1  具体数据见下表: n         ...

  4. nefu117 素数个数的位数(素数定理)

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

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

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

  6. 素数个数求解与素数的判定

    1.素数 质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数). 对于写代码的人来说,素数比想像中 ...

  7. POJ 3177 判决素数个数

    时间限制:  1000ms 内存限制: 65536kB 描述 输入两个整数X和Y,输出两者之间的素数个数(包括X和Y). 输入 两个整数X和Y,X和Y的大小任意. 输出 输出一个整数,结果可以是0,或 ...

  8. python acm 素数个数_湘潭大学OJ-1098求区间内素数个数问题

    求区间内素数个数问题 题目描述 Description 给定两个非负整数a,b,其中0<= a,b<=1,000,000,请计算这两个数之间有多少个素数.限制:Time Limit : 1 ...

  9. Java求n以内素数_求0到n之间素数个数的序列(Java)

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

最新文章

  1. 1057. Stack (30)
  2. linux 实验 广技师 进程管理与系统监视,Linux系统管理之进程管理
  3. 机器学习基础专题:支持向量机SVM
  4. DevExpress控件使用的一点小问题
  5. Scala特质可以继承Java类及限制特质的使用
  6. [JS-BOM]BOM_Location地址栏对象
  7. 戏耍Transaction,多个连接的Transaction处理(非COM+)
  8. 【Linux学习】GDB调试器基本命令必知必会(一)
  9. 结合 live-reload 实现自动刷新
  10. 网站点赞 评论 回复 数据库设计
  11. 分区混乱,C盘不是系统盘怎么办?
  12. 【HW2020漏洞回顾】深信服EDR两大漏洞(转载)
  13. 运营主管的OKR案例
  14. 中国剩余定理的五种解法
  15. ncnn发布20220420版本,让Vulkan神经网络推理得更快
  16. 四、快速搭建一套现代化的个人独立博客系统,给爱写博客的你(part2 正文)
  17. 手机淘宝的flexible设计与实现
  18. ZZULIOJ1086: ASCII码排序(多实例测试)
  19. 计算机用老毛桃u盘备份系统,如何使用老毛桃winpe系统进行Ghost备份
  20. 什么是云连接?云学院带你了解华为云连接知识

热门文章

  1. 关于srand((unsigned)time(NULL))是初始化随机函数种子
  2. java选择结构二星期几_java4选择结构 二
  3. SpringBoot四大核心之actuator——程序监控器
  4. 猜数字游戏(Java)
  5. 关于在阅读nnUNet代码中的一些小细节的记录(一)
  6. 基于sigmoid的文本多标签分类模型代码实现
  7. c++incline函数
  8. 全新 Veeam Availability Suite 9.5 成为率先全面集成 Windows Server 2016和Hyper-V技术的 可用性解决方案之一...
  9. dns 主从 windows
  10. mk-parallel-dump 实验