博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva10200(Prime Time) 卡精度
阅读量:5809 次
发布时间:2019-06-18

本文共 853 字,大约阅读时间需要 2 分钟。

分析:题目给出一个公式f(n)=n*n+n+41,输入a和b,0<=a<=b<=10000,

问在区间[a,b]中满足f(k)是素数的数所占的百分比。

b的范围不大,直接暴力素数打表即可。

最后输出保留两位小数,卡精度,必须在结果加上1e-5(或者更小)保证精度。

例如,输入 6000 9999,不加1e-5输出37.67(真实值为37.675),加上1e-5输出37.68。

#include
bool a[100010042];void f(){ for(int i=4;i<100010042;i+=2) a[i]=1; for(int i=3;i<100010042;i++) { if(a[i]==0) { for(int j=i+i;j<100010042;j+=i) a[j]=1; } }}int ans[10011];int main(){ f();ans[0]=1; for(int i=1;i<10001;i++) { if(!a[i*i+i+41]) ans[i]=1; ans[i]+=ans[i-1]; } int a,b; while(scanf("%d%d",&a,&b)!=-1) if(a==0) printf("%.2lf\n",100*(double)ans[b]/((b+1)*1.0)+1e-5); else printf("%.2lf\n",100.0*(1.0*(ans[b]-ans[a-1]))/(1.0*(b-a+1))+1e-5); return 0;}
View Code

 

转载于:https://www.cnblogs.com/ACRykl/p/8626865.html

你可能感兴趣的文章
Scrum之 Sprint计划会议
查看>>
svn命令在linux下的使用
查看>>
Gradle之module间依赖版本同步
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
10g手动创建数据库
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>
UVa 11292 勇者斗恶龙(The Dragon of Loowater)
查看>>
白话算法(7) 生成全排列的几种思路(二) 康托展开
查看>>
d3 v4实现饼状图,折线标注
查看>>
微软的云策略
查看>>
Valid Parentheses
查看>>
【ES6】数值的扩展
查看>>
性能测试之稳定性测试
查看>>
ES6的 Iterator 遍历器
查看>>
2019届高二(下)半期考试题(文科)
查看>>
【REDO】删除REDO LOG重做日志组后需要手工删除对应的日志文件(转)
查看>>
nginx 301跳转到带www域名方法rewrite(转)
查看>>
AIX 配置vncserver
查看>>
windows下Python 3.x图形图像处理库PIL的安装
查看>>
【IL】IL生成exe的方法
查看>>