1. 问题描述:
给定一个长度为 n 的整数数组 a1,a2,…,an 以及一个整数 k。请你找到一个数组元素 ai,要求:
k 是 ai 的倍数。
k 除以 ai 的商尽可能小。
输出这个最小的商。
输入格式
第一行包含整数 T,表示共有 T 组测试数据。每组数据第一行包含两个整数 n,k。第二行包含 n 个整数 a1,a2,…,an。
输出格式
每组数据输出一行结果,一个整数,表示最小的商。保证每组数据一定有解。
数据范围
前三个测试点满足,1 ≤ n,k ≤ 10。
所有测试点满足,1 ≤ T ≤ 10,1 ≤ n,k ≤ 100,1 ≤ ai ≤ 100。
输入样例:
2
3 6
2 3 5
6 7
1 2 3 4 5 6
输出样例:
2
7
来源:https://www.acwing.com/problem/content/3974/
2. 思路分析:
分析题目可以知道模拟整个过程即可。
3. 代码如下:
class Solution:
def process(self):
T = int(input())
for c in range(T):
n, m = map(int, input().split())
a = list(map(int, input().split()))
res = 200
for x in a:
if m % x == 0 and res > m // x:
res = m // x
print(res)
if __name__ == '__main__':
Solution().process()