📅  最后修改于: 2023-12-03 15:10:15.950000             🧑  作者: Mango
本题是一道计算机科学的编程题,要求编写一个程序实现特定的功能。
编写一个程序,在一个数字列表中找到两个数字,它们的和等于一个给定的数字 k。程序应该打印这两个数字以及它们在列表中的索引。
第一行输入一个整数 T,表示测试用例的数量。
每个测试用例的第一行有两个整数 N 和 K,其中 N 表示列表的长度,K 表示要求得和的数字。
列表的下一行有 N 个以空格分隔的整数,表示列表中的元素。
对于每个测试用例,输出两个整数 a 和 b,以及它们在列表中的索引(从 0 开始)。
如果没有满足要求的数字,则输出 -1。
2 7 98 1 2 3 5 6 7 9 6 24 12 13 15 18 19 21
2 5 2 4 -1
def find_indices(n, k, lst):
indices = []
for i in range(n):
for j in range(i + 1, n):
if lst[i] + lst[j] == k:
indices.append(i)
indices.append(j)
return indices
return [-1]
t = int(input())
for _ in range(t):
n, k = map(int, input().split())
lst = list(map(int, input().split()))
result = find_indices(n, k, lst)
print(*result)
返回的代码片段是markdown格式的,如下所示:
```python
def find_indices(n, k, lst):
indices = []
for i in range(n):
for j in range(i + 1, n):
if lst[i] + lst[j] == k:
indices.append(i)
indices.append(j)
return indices
return [-1]
t = int(input())
for _ in range(t):
n, k = map(int, input().split())
lst = list(map(int, input().split()))
result = find_indices(n, k, lst)
print(*result)