Description
如果n和n+2都是素数,我们称其为孪生素数,比如3和5,5和7都是孪生素数。 小南接到一个任务,就是对一个给定的区间[a,b],统计该区间有多少对孪生素数?
例如:[1,3]之间只有素数2和3,间距为1而不是2,所以孪生素数对的个数为0;
[3,7]之间有素数3,5和7,所以孪生素数对的个数为2。
一个简单的方法是对输入的每一组[a,b],用穷举的方法对n和n+2进行素数判定再统计,多样例的情况下有可能会超时哦。所以小南需要用到预处理和筛选素数的方法对算法进行优化,你能帮他优化吗?
Input
多样例。输入的第一行是一个整数k(k≤ 10000),表示样例的个数。 以后每行一个样例,为两个整数a和b,表示区间[a,b](1≤a≤b≤5000000)。
6
1 3
4 7
1 10
1 100
1 1000
1 5000000
HINT
数组定义中int a[5000005]不会超限。