Все задачи
Легко Решено: 0 Процент решений: 0%

Подсчёт пар с заданной суммой

Посчитайте количество пар позиций, значения которых в сумме дают целевое число.

Посчитайте количество пар различных позиций i < j в списке numbers, для которых numbers[i] + numbers[j] равно target. Используйте два вложенных цикла.

Реализуйте функцию count_pairs_with_sum(numbers, target).

Ввод

numbers: список целых чисел. target: сумма, которую нужно найти.

Вывод

Верните количество таких пар.

Ограничения

0 ≤ длина numbers ≤ 500; -10 000 ≤ каждое число, target ≤ 10 000

Примеры

Пример 1
Ввод:
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 пары.

Пример 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. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.