Euler is a well-known matematician, and, among many other things, he discovered that the formula n2 + n + 41 produces a prime for 0 ≤ n < 40. For n = 40, the formula produces 1681, which is 41 ∗ 41.Even though this formula doesn’t always produce a prime, it still produces a lot of primes. It’s knownthat for n ≤ 10000000, there are 47,5% of primes produced by the formula!

  So, you’ll write a program that will output how many primes does the formula output for a certaininterval.

Input

Each line of input will be given two positive integer a and b such that 0 ≤ a ≤ b ≤ 10000. You mustread until the end of the file.

Output

For each pair a, b read, you must output the percentage of prime numbers produced by the formula inthis interval (a ≤ n ≤ b) rounded to two decimal digits.

Sample Input

0 39

0 40

39 40

Sample Output

100.00

97.56

50.00

问题链接:UVA10200 Prime Time

问题简述:根据公式n * n + n + 41 求出在区间a<= n <= b的n算出的结果是素数的概率。0<= a <= b <= 10000。

问题分析

  统计各个范围的素数的个数是必要的,然后再进行计算。

  n=0时,41是素数。

  要算区间的概率,需要先计算前缀和,即计算给定n的1-n之间的素数的个数。这样就容易算得区间内的素数个数。 

程序说明

  数组sum[]中,存放素数个数的前缀和。sum[i]中存放从0-i之间,满足公式i * i + i + 41为素数的个数。

  函数isprime()不是一个真正意义上的素数判断函数,只进行奇数判定,对于本题条件是没有问题的,因为n*n+n+41总是奇数。

  函数maketable()是打表函数,用于计算数组sum[]的值。

AC的C++语言程序如下:

/* UVA10200 Prime Time */#include <iostream>
#include <math.h>using namespace std;const int N = 10000;
int sum[N + 1];// 试除法判断一个数是否为素数
bool isprime(int n)
{int end2, i;end2 = (int)sqrt(n);for(i=3; i<=end2; i+=2) {if(n % i == 0)break;}return i > end2;
}void make_table()
{sum[0] = 1;for(int i=1; i<=N; i++) {sum[i] = sum[i - 1];if(isprime(i * i + i + 41))sum[i]++;}
}int main()
{int a, b, cnt;double ans;make_table();while(scanf("%d%d", &a, &b) != EOF) {if(a == 0)cnt = sum[b];elsecnt = sum[b] - sum[a - 1];ans = (double) cnt / (b - a + 1);printf("%.2lf\n", ans * 100 + 1e-5);}return 0;
}

 

UVA10200 Prime Time【素数判定】相关推荐

  1. HDOJ-2012 素数判定

    素数判定 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissi ...

  2. POJ2262Goldbach's Conjecture 简单的素数判定

    作者:ACShiryu 时间:2011-8-4 原题:http://poj.org/problem?id=2262 Goldbach's Conjecture Time Limit: 1000MS M ...

  3. Poj 1811 Prime Test 素数测试 Miller-Rabin 与 整数的因子分解 Pollard rho

    随机化算法,想尝试自己写一下,最后还是变成了抄代码... 代码参考了:POJ 1811 Prime Test(大素数判断和素因子分解) - kuangbin - 博客园 学习链接: Miller-Ra ...

  4. 素数判定质因数分解(数论)(Miller Rabin)(Pollard Rho)

    太玄学了! 我真的被概率的魅力折服了.此前我认为1便是1,0.9999999999-便是0.9999999999-. 但实际上它们有着千丝万缕的关系. 试想,如果一件事发生的概率是0.99999999 ...

  5. HDOJ 2012 素数判定 解题报告

    今天确实坑爹,, 这么简单的题目都WA好多次,,, 都是细节上的错误, 直接导致崩盘,,额... 好吧,这个完全就是素数判断,没什么好说的 ,, 就是注意flag标记和判断是否符合条件,,其他就是输出 ...

  6. 费马小定理与素数判定

    费马小定理是初等数论四大定理(威尔逊定理,欧拉定理(数论中的欧拉定理,即欧拉函数),中国剩余定理和费马小定理)之一,在初等数论中有着非常广泛和重要的应用.实际上,它是欧拉定理的一个特殊情况. 其内容为 ...

  7. C++描述杭电OJ 2012.素数判定 ||

    C++描述杭电OJ 2012.素数判定 || Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<= ...

  8. C++描述杭电OJ 2012. 素数判定 ||

    C++描述杭电OJ 2012. 素数判定 || Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y< ...

  9. ZZULIOJ 1057:素数判定

    素数判定 题目描述 输入一个正整数n,判断n是否是素数,若n是素数,输出"Yes",否则输出"No". 输入 输入一个正整数n(n<=1000) 输出 如 ...

最新文章

  1. NopCommerce架构分析-依赖注入
  2. php 获得用户地址吗,php获得用户的真实IP地址_PHP教程
  3. linux中yum进程占cpu百分之九十,在Deepin Linux系统中kworker进程占用CPU达到100%的解决...
  4. 新思路等级考二级c语言题答案,2017计算机二级C语言考试强化习题及答案
  5. GDCM:DICOM文件的输入和输出流测试程序
  6. 美国安全厂商在云安全上的最新进展
  7. android sqlite使用之模糊查询数据库数据的三种方式
  8. redux 管理你的 react 应用
  9. xv6源码阅读——进程切换
  10. 北复交浙科哈航邮中上科保研之路
  11. yytextview 复制_YYText使用篇(一)
  12. 车牌识别对于智慧城市的重要性
  13. Multiple dex files define Lrx/android/plugins/RxAndroidPlugins;
  14. 股票10档接口如何获取数据-步骤
  15. Temporal Action Proposal
  16. 使用科大讯飞SDK实现语音功能
  17. “熊猫烧香”主犯:毒王?黑客英雄?
  18. 可以当零食吃的排骨——椒盐排骨
  19. 揭秘家用路由器0day漏洞挖掘技术读书笔记 D-Link DIR-645 authentication.cgi溢出漏洞分析
  20. python文件打包

热门文章

  1. 使用jQuery Mobile快速开发手机站点
  2. linux利用anaconda配置python虚拟环境
  3. 详解:Sqoop的导入和导出数据
  4. python: for循环时列表长度改变,会发生什么?
  5. matlab提取线条,请问如何将图片中的红色激光线条给提取出来啊,有没有大佬救救孩子,贴出代码给瞅瞅啊!谢谢!...
  6. python3.6中内置函数变化
  7. 获取公司的maven库 和 idea maven 中Projects Settings的Libraries中正常,但是在Maven Projects中Dependencies一直出现红线的解决办法
  8. Sublime Text3 python交互式环境+快捷键设置
  9. linux打印全部make编译信息
  10. 机器学习 --- 1. 线性回归与分类, 解决与区别