UVA-10200-Prime Time-判断素数个数(打表预处理)+精度控制

题意:
给出a、b区间,判断区间内素数所占百分比
思路:
注意提前打表和控制精度1e-8的范围足够用了
细节:
精度的处理
判断素数的方法(且返回值为bool)
数据类型的强制转换
保存素数个数
提前进行打表和保存区间素数个数,每次给出a、b直接输出答案就行。
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
//const int N=40*40+40+41;
const int N=; int ans[N];
bool pr(int x)//判断素数
{
for(int i=; i*i<=x; i++)
{
if(x%i==)
return ;
}
return ;
} void db()
{
// ans[0]=0;
// memset(ans,0,sizeof(ans));
// for(int i=0; i<=N; i++)
// ans[i]=ans[i-1]+pr(i*i+i+41);
ans[]=;
for(int i=; i<=N; i++)
ans[i]=ans[i-]+pr(i*i+i+);
} int main()
{
db();
int a,b;
while(~scanf("%d %d",&a,&b))
{
// int sum=0;
// for(int i=a;i<=b;i++)
// sum+=prime(i);
int sum=b-a+;
// printf("%.2f\n",((ans[b]-ans[a-1])/sum)*100.0+1e-8);//这样的话第二三组数据输出为0.00
//*100.0得放在分子上,相除后再*100.0是错误的
printf("%.2f\n",(100.0*(ans[b]-ans[a-])/sum)+1e-);
// printf("%.2f\n",sum*1.0/(ss*1.0)+1e-8);
}
return ;
}
UVA-10200-Prime Time-判断素数个数(打表预处理)+精度控制的更多相关文章
- UVA 10200 Prime Time 水
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- UVA 10200 Prime Time【暴力,精度】
题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...
- UVA - 10200 Prime Time 关于 double类型 卡精度
题意: 给定一个区间,a到b, n在区间内,有一个计算素数的公式,n*n+n+41,将n带进去可以得出一个数字.但是这个公式可能不准确,求出这个公式在这个区间内的准确率. 直接模拟就好了,不过要 注意 ...
- UVA 10200 Prime Time (打表)
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- (Miller Rabin算法)判断一个数是否为素数
1.约定 x%y为x取模y,即x除以y所得的余数,当x<y时,x%y=x,所有取模的运算对象都为整数. x^y表示x的y次方.乘方运算的优先级高于乘除和取模,加减的优先级最低. 见到x^y/z这 ...
- HDU 2138 How many prime numbers(Miller_Rabin法判断素数 【*模板】 用到了快速幂算法 )
How many prime numbers Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- 如何判断一个数是否为素数(zt)
怎么判断一个数是否为素数? 笨蛋的作法: bool IsPrime(unsigned n){ if (n<2) { //小于2的数即不是合数也不是素数 throw 0; ...
- POJ3126 Prime Path (bfs+素数判断)
POJ3126 Prime Path 一开始想通过终点值双向查找,从最高位开始依次递减或递增,每次找到最接近终点值的素数,后来发现这样找,即使找到,也可能不是最短路径, 而且代码实现起来特别麻烦,后来 ...
- java判断一个数是否为素数[转]
http://blog.csdn.net/lwcumt/article/details/8027586 import java.util.Scanner; //质数又称素数,是指在一个大于1的自然数中 ...
- c语言实践 判断一个数是不是素数
int main() { int input = 0; scanf_s("%d",&input); if (input < 2) { printf("wro ...
随机推荐
- Shiro学习(10)Session管理
Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理.会话事件监听.会话存储/持久化.容器无关的集群. ...
- eclipse中server name选项变灰
删除workspace中.metadata\.plugins\org.eclipse.core.runtime\.settings目录下 org.eclipse.wst.server.core.pre ...
- shell重定向的顺序问题
三个默认的文件描述符 0: stdin(标准输入) 1: stdout(标准输出) 2: stderr(标准错误输出) 系统中这3个文件描述符所对应的文件: 重定向顺序 示例脚本 echo " ...
- 如何上传代码至GitHub
环境准备: git GitHub账号 步骤: 1.登录github创建一个新的项目 参数说明: Repository name: 仓库名称 Description(可选): 仓库描述介绍 Publi ...
- leetcode 596 BUG笔记
There is a table courses with columns: student and class Please list out all classes which have more ...
- 一些识别CMS的经验方法总结
今天学到了一些识别CMS的快速方法,也算是一种信息收集经验的积累,在这里要感谢一下我的同事“gakki的童养夫”对我的大力支持. 如何判断网站的CMS? robots.txt文件 robots.txt ...
- 2.执行计划(explain)分析
1.使用场景 获取执行计划命令:在select 命令前加上explain 或 desc explain select 或 desc select 1.语句执行之前 :防患于未然 2.出现慢语句时 :亡 ...
- SQL Serve2008的一些操作
今天花了一下午的时间在熟悉SQL serve的一些操作,在此记录下学习到的东西: 首先创建数据库: use master --设置当前数据库为master,以便方便访问表sysdatabases if ...
- jquery $用法
//页面刷新时,根据筛选条件中已有的项给下面条件添加样式 window.onload = function() { $("input.query1").each(function( ...
- B. Light bulbs(2019 ICPC上海站)
There are NN light bulbs indexed from 00 to N-1N−1. Initially, all of them are off. A FLIP operation ...