码迷,mamicode.com
首页 > 其他好文 > 详细

素数定理 nefu 117

时间:2015-11-19 16:41:34      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

素数定理:

随着x的增长,P(x) ≈x/ln(x) ,P(x)表示(1,x)内的素数的个数。

 

这个定理,说明在1-x中,当x大到一定程度时,素数分布的概率为ln(x)

竟然还有一道题目。

素数个数的位数

Problem : 117

Time Limit : 1000ms

Memory Limit : 65536K

description

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

input

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

output

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

sample_input

3
7

sample_output

3
6

hint

素数定理

 

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <algorithm>
using namespace std;
#define E 2.718281828

int main()
{
    int n;
    while( scanf("%d",&n)!=EOF )
    {
        double tmp=n-log10( (double)n/log10(E) );
        int wei=(int)(tmp);
        double other=tmp-wei;
        if(other>1e-10)
        {
            wei+=1;
        }
        printf("%d\n",wei);
    }
    return 0;
}

 

素数定理 nefu 117

标签:

原文地址:http://www.cnblogs.com/chenhuan001/p/4977949.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!