#6422. 质数概率

质数概率

题目背景

欧拉是一个著名的数学家,他发现当 39<n<40-39 < n < 40 时,公式n2+n+41n^2+n+41 始终是一个质数。他计算出,在 10710^7 以下的所有素数中,该公式可得出占总素数的 47.5%47.5\%。而当 nn 值较低时,该公式工作得更有成效。当 nn 值小于 23982398 时,该公式可得出占总素数的 50%50\%。当 nn 值小于 100100 时,该公式得出 8686 个素数。

wsh 为此留下了一个问题,想让你帮助他解决。

题目描述

wsh 定义 f(n)=4n2+4n+59f(n)=4n^2+4n+59,求 [l,r][l,r] 区间中 f(i)f(i) 为质数的概率。

输入格式

有若干行,每行两个非负整数 l,rl,r,含义如题所述。(保证不超过 5×1045 \times 10^4 行)

输出格式

一行一个浮点数,表示区间内 f(i)f(i) 是质数的概率,并去掉 %,保留两位小数,精度为 10610^{-6}。(例如 55 个数中有 33 个,则输出 60.00

Samples

1 15
0 30
10 11
93.33
87.10
100.00
10 73
9 31
0 0
68.75
82.61
100.00

样例解释:

样例2中第三行的 0 0,这个区间中只有一个数 00,把 i=0i=0 代入 f(i)f(i),结果为 5959,此数是质数。

可使用 while(scanf("%d%d",&l,&r)!=EOF)while(cin>>l>>r) 进行循坏输入。windows 环境想要结束输入请按 Ctrl+Z 键。

本题采用 Subtask 捆绑测试。

  • Subtask 1( 2020 ptspts ):0lr5000 \le l \le r \le 500,输入不超过 150150 行。
  • Subtask 2( 3030 ptspts ):0lr70000 \le l \le r \le 7000,输入不超过 10001000 行。
  • Subtask 3( 2020 ptspts ):0lr150000 \le l \le r \le 15000,输入不超过 10410^4 行。
  • Subtask 4( 3030 ptspts ):0lr231690 \le l \le r \le 23169,输入不超过 5×1045 \times 10^4 行。