Redraiment猜想+素数求和
来源:互联网 发布:仿淘宝手机端筛选样式 编辑:程序博客网 时间:2024/05/22 17:05
Redraiment猜想
运行时限: 1000 ms 单次运行时限: 1000 ms 内存限制: 64 MB
总提交: 2345次 通过: 505次
总提交: 2345次 通过: 505次
题目描述
redraiment在家极度无聊,于是找了张纸开始统计素数的个数。
设函数f(n)返回从1->n之间素数的个数。
redraiment发现:
f(1) = 0
f(10) = 4
f(100) = 25
...
满足g(m) = 17 * m2 / 3 - 22 * m / 3 + 5 / 3
其中m为n的位数。
他很激动,是不是自己发现了素数分布的规律了!
请你设计一个程序,求出1->n范围内素数的个数,来验证redraiment是不是正确的,也许还可以得诺贝尔奖呢。^_^
设函数f(n)返回从1->n之间素数的个数。
redraiment发现:
f(1) = 0
f(10) = 4
f(100) = 25
...
满足g(m) = 17 * m2 / 3 - 22 * m / 3 + 5 / 3
其中m为n的位数。
他很激动,是不是自己发现了素数分布的规律了!
请你设计一个程序,求出1->n范围内素数的个数,来验证redraiment是不是正确的,也许还可以得诺贝尔奖呢。^_^
程序输入说明
输入包括多组数据。
每组数据仅有一个整数n (1≤n≤10,000,000)。
输入以0结束
每组数据仅有一个整数n (1≤n≤10,000,000)。
输入以0结束
程序输出说明
对于每组数据输入,输出一行,为1->n(包括n)之间的素数的个数
程序输入样例
可见格式带空格和换行符的格式带空格和换行符的格式说明
110651000
程序输出样例
OriginalTransformed带空格和换行符的格式说明
041825
提示
题目来源
[统计数据] [提 交]
个人理解:用改进版埃氏筛法和动态规划
时间可以很短
AC情况:
代码C:
# include <stdio.h># include <math.h># define N 10000001char A[N];int B[N]; int main(){ int i,j,Q=sqrt(N)+1,k=0; for(A[0]=A[1]=1,i=2;i<Q;i++) if(!A[i]) { for(j=i<<1;j<N;j+=i) A[j]=1; B[i]=B[i-1]+1; } else B[i]=B[i-1]; do{ B[i]=B[i-1]+(!A[i]); }while(i++<N); while(scanf("%d",&i)&&i){ printf("%d\n",B[i]); } return 0; }短小精悍 ^!^
另一道差不多
素数求和
运行时限: 10000 ms 单次运行时限: 10000 ms 内存限制: 32 MB
总提交: 6次 通过: 1次
总提交: 6次 通过: 1次
题目描述
输入一个自然数n,求小于等于n的素数之和.
程序输入说明
程序输出说明
程序输入样例
可见格式带空格和换行符的格式带空格和换行符的格式说明
2
程序输出样例
OriginalTransformed带空格和换行符的格式说明
2
提示
数据规模和约定
测试样例保证 2 <= n <= 2,000,000
测试样例保证 2 <= n <= 2,000,000
题目来源
算法提高
# include <stdio.h> # include <math.h> # define N 2000005 char A[N]; long long B[N]; int main(){ int i,j,Q=sqrt(N)+1,k=0; for(A[0]=A[1]=1,i=2;i<Q;i++) if(!A[i]) { for(B[i]=B[i-1]+i,j=i<<1;j<N;j+=i) A[j]=1; } else B[i]=B[i-1]; do{ if(!A[i])B[i]=B[i-1]+i; else B[i]=B[i-1]; }while(i++<N); while(scanf("%d",&i)!=EOF){ printf("%lld\n",B[i]); } return 0; }
阅读全文
0 0
- Redraiment猜想+素数求和
- TOJ 1006 Redraiment猜想 (求素数)
- Redraiment猜想
- AOJ7 Redraiment猜想
- Ytu 1007: Redraiment猜想
- YTU 1007: Redraiment猜想
- AOJ 7.Redraiment猜想
- aoj 7 Redraiment猜想
- OJ-1007 Redraiment猜想
- AOJ-AHU-OJ-7 Redraiment猜想
- Redraiment猜想2 (容斥)
- 素数求和
- 素数求和
- 素数求和
- 素数求和
- 素数求和
- 素数求和
- 素数求和
- spring boot 高度整合了jar包 ===》spring boot 启动器
- 5-7 删除一个节点:步骤1-删除最大值,最小值
- 5-8 二分搜索树的删除,删除一个节点的步骤2
- java虚拟机学习笔记二
- 网易互娱笔试题----最多有多少点在一条直线上
- Redraiment猜想+素数求和
- java正则表达式实例
- 继承
- Win7+Ubuntu双系统时间不一致
- window7 64bits+VS2015下openCV3.3.0安装
- UnityScript Awake()和Start()的小区别
- Hive2.1.1环境部署
- 5-9 二分搜索树的顺序性
- 选择排序之简单选择