#题面
#题目描述
一天,小 L 和小 W 在玩一个报数游戏。两人约定只能报出质数,即因数只有 和它自身的数。特别的, 不被视作质数。然而,在只有两个人的情况下,找到质数还是很容易的,因此他们玩了很久也没分出胜负。此时,小 L 灵光一闪,决定把这个游戏加强:报出的数不仅要是质数,还要满足它的各位数字之和也是一个质数!
例如, 不是一个满足条件的数,因为虽然它本身是一个质数,但它的各位数字之和为 ,不是一个质数; 不是一个满足条件的数,因为虽然它的个位数字之和为 ,是一个质数,但它本身并不是一个质数; 是一个满足条件的数,因为不仅它本身是一个质数,它的各位数字之和 也是一个质数。
现在小 L 想要集中精力报出 之间的满足条件的数,因此他会询问你范围内满足条件的数的个数是多少。小 L 和小 W 一共会玩 次游戏,而你也要回答 个问题。
为了减少输入输出量,小 L 对输入输出的方式进行了一些处理。
#输入格式
第一行一个整数 ,表示小 询问的数量。
第二行五个整数 ,表示第一个询问的范围为 ,对于第 ()个询问,该次询问的范围 与上次询问的范围 满足如下关系:
设 ,,则 ,。
其中 表示二进制下按位异或运算。
#输出格式
一行一个整数,表示每组询问的答案的异或和。
#输入输出样例
样例输入 #1
2
2 9 1 0 20
样例输出 #1
7
样例解释
对于第一次询问,满足条件的数有 。
对于第二次询问,询问的范围是 ,满足条件的数有 。
两次询问答案的异或和为 。
样例 #2
见下发文件中的 number2.in
和 number2.out
。
该样例满足测试点 的数据范围和限制。
#数据范围
对于所有数据,满足 ,。
测试点编号 | ||
---|---|---|
#思路
先筛出所有质数,再从中筛出各位数字之和为质数的数,最后暴力求出每个询问的答案的前缀和即可。
#代码
1 |
|