Посчитайте количество пар различных позиций i < j в списке numbers, для которых numbers[i] + numbers[j] равно target. Используйте два вложенных цикла.
Реализуйте функцию count_pairs_with_sum(numbers, target).
Ввод
numbers: список целых чисел. target: сумма, которую нужно найти.
Вывод
Верните количество таких пар.
Ограничения
0 ≤ длина numbers ≤ 500; -10 000 ≤ каждое число, target ≤ 10 000
Примеры
Ввод:
target = 6
numbers = [1, 5, 3, 3, 4]
Ожидаемый вывод:
expected = 2
Ввод:
long long target = 6;
std::vector<long long> numbers = {1, 5, 3, 3, 4};
Ожидаемый вывод:
long long expected = 2;
Ввод:
long target = 6;
long[] numbers = new long[] {1, 5, 3, 3, 4};
Ожидаемый вывод:
long expected = 2;
Пояснение
1 + 5, 3 + 3 (две разные позиции с тройками) дают 6: всего 2 пары.
Ввод:
target = 4
numbers = [2, 2, 2]
Ожидаемый вывод:
expected = 3
Ввод:
long long target = 4;
std::vector<long long> numbers = {2, 2, 2};
Ожидаемый вывод:
long long expected = 3;
Ввод:
long target = 4;
long[] numbers = new long[] {2, 2, 2};
Ожидаемый вывод:
long expected = 3;
Пояснение
Любая пара из трёх двоек даёт в сумме 4: позиции (0,1), (0,2), (1,2) = 3 пары.
Ссылки
Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.