使用给定的列表和目标值，编写程序以查找两个数字的索引，这两个数字的和等于目标值。


input_list = [2, 7, 11, 15]
target = 9
答案：可以使用循环来遍历给定列表中的每个数字，找到与目标值相加等于目标值的数字。可以通过在字典中存储数字及其索引来优化程序的时间复杂度。

以下是示例代码：

```
input_list = [2, 7, 11, 15]
target = 9

# 方法一：使用嵌套循环
for i in range(len(input_list)):
    for j in range(i + 1, len(input_list)):
        if input_list[i] + input_list[j] == target:
            print(i, j)

# 方法二：使用字典
d = {}
for i, num in enumerate(input_list):
    if target - num in d:
        print(d[target - num], i)
    d[num] = i
```

第一种方法的时间复杂度为$O(n^2)$， 第二种方法的时间复杂度为$O(n)$，因为字典查找的时间复杂度为$O(1)$。