📅  最后修改于: 2023-12-03 15:11:40.712000             🧑  作者: Mango
本题目需要在给定的数组中,查询有多少个元素可以被 $K$ 整除,且余数为 $X$。
数组的下标从 $0$ 开始,查询的结果必须返回一个整数。
输入数据包含多个测试用例。
对于每个测试用例,第一行输入两个整数 $N$ 和 $Q$,表示数组的长度和查询的次数。
第二行输入 $N$ 个整数,表示数组元素的值。
之后 $Q$ 行,每行输入两个整数 $K$ 和 $X$,表示查询满足条件的元素个数。
对于每个查询,输出满足条件的元素个数,每个测试用例的查询结果输出之间用换行隔开。
4 3
1 2 3 4
2 0
2 1
2 2
2
1
0
对于每个测试用例的每个查询,依次遍历数组中的每个元素,计算每个元素除以 $K$ 的余数,判断是否等于 $X$,若相等则计数器加一。
最终返回计数器的值即为查询结果。
以下是 Python 语言的示例代码:
while True:
try:
# 读入数据
n, q = map(int, input().split())
a = list(map(int, input().split()))
# 处理查询
for i in range(q):
k, x = map(int, input().split())
count = 0
for j in range(n):
if a[j] % k == x:
count += 1
print(count)
except:
break
以上代码使用了 Python 自带的异常处理机制,可以保证程序在文件结尾读完时自动退出。其他语言的实现方式可能略有不同,但实现思路大体相同。