Информатика, вопрос задал 8prote , 2 года назад

Если есть возможность, то на питоне.
Посчитайте количество пар элементов равных друг другу в массиве. Любые два элемента равные друг другу образуют пару.

Требования: На вход программы подаётся n – длина массива, а затем сам массив длиной n. Выведите количество таких пар. Учтите, что если элемент массива уже состоит в одной паре это не мешает ему попасть в другую.

Например:

Входные данные:

5

5 5 5 5 5

Ответы на вопрос

Ответил KnowsUser1
1

Ответ:

Решение топорное, что называется "в лоб". По памяти не эффективно ни разу. По времени тоже, даже для питона. Но работает)

--- Python 3.8.3 ---

counter = 0

n=int(input())

Seq = [int(i) for i in input().split(' ', maxsplit=n)]

for i in range(len(Seq)-1):

   for k in range(i+1, len(Seq)):

       if Seq[i] == Seq[k]: counter+=1

print(counter)


KnowsUser1: Ну для питона перебрать лист в 100к элементов это на пол часа, как минимум) Хотя стоит отметить, что я повторял тест из статьи, которую вы кидали, про сравнение скорости питона, паскаля и плюсов, (правда я змею с си-диезом сравнивал) так C# тоже от таких новостей присел минут на 5
KnowsUser1: Ну это у него есть такое. Все математические и инженерные библиотеки для него на С написаны. Причём полностью. Интерпретатору уже готовый ответ приходит, что бы он там не сломал ничего. У Чистого Питона вообще явно какая то неприязнь к отрицательным числам
Новые вопросы