素数个数的位数 | ||
| ||
description | ||
小明是一个聪明的孩子,对数论有着很浓烈的兴趣。他发现求1到正整数10n 之间有多少个素数是一个很难的问题,该问题的难以决定于n 值的大小。现在的问题是,告诉你n的值,让你帮助小明计算小于10n的素数的个数值共有多少位? | ||
input | ||
输入数据有若干组,每组数据包含1个整数n(1 < n < 1000000000),若遇到EOF则处理结束。 | ||
output | ||
对应每组数据,将小于10n 的素数的个数值的位数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。 | ||
sample_input | ||
3
7
| ||
sample_output | ||
3
6 | ||
hint | ||
素数定理 | ||
source
思路:水题一道。正如hint,因为M=10^n内的素数个数 约等于M/ln(M),所以其位数为:log10(M)-log10(ln(M)) 即是:log10(10^n)-log10(n* ln(10)); n-log10(n)-log10(ln(10));
program: #include<iostream> |
nefu 117 大数素数个数的位数
最新推荐文章于 2021-05-24 23:12:31 发布