JuJeu #8921 4 декабря 2019 Тока спортивное программирование ничего общего не имеет с реальностью. Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
yellyex #8922 4 декабря 2019 Тока спортивное программирование ничего общего не имеет с реальностью.Ну да, в спортивном программировании денег не платят.Вроде помогли: Ищем а5, через каждые 20 ненужных элементов import random import numpy as np array = [] a1 = 1 a2 = 2 a3 = 3 a4 = 4 a5 = 5 array = [] for k in range(5, 0, -1): for i in range(10 * k): array.append(6 - k) random.shuffle(array) print() print(array) print() # Узнаём длину массива lenArray = len(array) print(lenArray) print() # Узнаём сколько элементов в массиве и процент. a1Count = array.count(a1) a2Count = array.count(a2) a3Count = array.count(a3) a4Count = array.count(a4) a5Count = array.count(a5) a1Percent = a1Count / lenArray * 100 a2Percent = a2Count / lenArray * 100 a3Percent = a3Count / lenArray * 100 a4Percent = a4Count / lenArray * 100 a5Percent = a5Count / lenArray * 100 print(a1Count) print(a2Count) print(a3Count) print(a4Count) print(a5Count) print() print(a1Percent) print(a2Percent) print(a3Percent) print(a4Percent) print(a5Percent) print() l = [a1, a2, a3, a4, a5]#Num = 5 aCount = [] for i in range(5): # количество чисел b = array.count(l[i]) aCount.append(b) print(aCount) N=20 ## Размер среза D=a5 ## Число counter = 0 for digit in array[D::N]: counter+=(digit == a5) ## Скобки для наглядности print(counter) moonfangtopich написал 29.08.2019 в 14:57: У вас недостаточно широкий кругозор, пацаны Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды Поделиться сообщением Ссылка на сообщение
EbalKopal #8923 4 декабря 2019 Тока спортивное программирование ничего общего не имеет с реальностью.Ну так спортивное программирование про CS, а 'реальность программирования' - бездумное формошлепство Поделиться сообщением Ссылка на сообщение
JuJeu #8924 4 декабря 2019 Тока спортивное программирование ничего общего не имеет с реальностью.Ну так спортивное программирование про CS, а 'реальность программирования' - бездумное формошлепство Нет. Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
yellyex #8925 4 декабря 2019 (изменено) Посмотрите пожалуйста ошибку. Цикл в конце никак не может найти элемент а2, который находится, если перед ним было 100 элементов не являющимися а2. А он находит. Не могу понять почему. import random array = [] a1 = 1 a2 = 2 a3 = 3 a4 = 4 a5 = 5 for i in range (50): array.append(a1) for i in range (40): array.append(a2) for i in range (30): array.append(a3) for i in range (20): array.append(a4) for i in range (10): array.append(a5) random.shuffle(array) print() print(array) print() c1 = 0 c2 = 0 for i in array: if c1 > 100: c1 = 0 if i != a2: c1 = c1 + 1 if i == a2: if c1 == 100: c2 = c2 + 1 print("Сколько a2 через 100 ненужных элемента:", c2) Изменено 4 декабря 2019 пользователем yellyex moonfangtopich написал 29.08.2019 в 14:57: У вас недостаточно широкий кругозор, пацаны Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды Поделиться сообщением Ссылка на сообщение
yellyex #8926 4 декабря 2019 Тоже не работает :( import random array = [] a1 = 1 a2 = 2 a3 = 3 a4 = 4 a5 = 5 for i in range (50): array.append(a1) for i in range (40): array.append(a2) for i in range (30): array.append(a3) for i in range (20): array.append(a4) for i in range (10): array.append(a5) random.shuffle(array) print() print(array) print() c1 = 0 for i in array: if array[i] == a2: if array[i - 1] != a2: if array[i - 2] != a2: if array[i - 3] != a2: if array[i - 4] == a2: c1 = c1 + 1 print(c1) moonfangtopich написал 29.08.2019 в 14:57: У вас недостаточно широкий кругозор, пацаны Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды Поделиться сообщением Ссылка на сообщение
hira88 #8927 5 декабря 2019 Тоже не работает :( помоему твое условие не выполнимотыже записываешь линейно 50 единиц потом 40 двоек потом 30 троек...и так далее и условие if array[i] == a2: if array[i - 1] != a2: if array[i - 2] != a2: if array[i - 3] != a2: if array[i - 4] == a2: элемент по индексу [i-4] не может быть равен двойке когда[i-3] не равен двойке и равен двойкеониж линейно записаны,там нет промежутков Поделиться сообщением Ссылка на сообщение
yellyex #8928 5 декабря 2019 Тоже не работает :( помоему твое условие не выполнимотыже записываешь линейно 50 единиц потом 40 двоек потом 30 троек...и так далее и условие if array[i] == a2: if array[i - 1] != a2: if array[i - 2] != a2: if array[i - 3] != a2: if array[i - 4] == a2: элемент по индексу [i-4] не может быть равен двойке когда[i-3] не равен двойке и равен двойкеониж линейно записаны,там нет промежутков Я перемешал массив. Посмотри внимательней.Вот даже в буквальном виде не работает. Что не так? a1 = 1 a2 = 2 a3 = 3 a4 = 4 a5 = 5 array = [a1, a2, a5, a4, a1, a2, a1, a5] c1 = 0 for i in array: if i == a2: if i - 1 != a2: if i - 2 != a2: if i - 3 != a2: if i - 4 == a2: c1 = c1 + 1 print(c1) Он должен найти одну комбинацию, где а2, а перед ним 3 ненужных элемента, а перед ними снова а2. Но не находит. Значит ошибка в коде, но я её не вижу. moonfangtopich написал 29.08.2019 в 14:57: У вас недостаточно широкий кругозор, пацаны Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды Поделиться сообщением Ссылка на сообщение
hira88 #8929 5 декабря 2019 (изменено) я не посмотрел сразу какой ты бред тут пишешь(ничего личного) смотри щас if i == a2: у тебя в оригинале if array == a2: ты в первом примере брал for i in array: i это НЕ ИНДЕКС это значение элемента, у тебя значения элементов 1 2 3 4 5 и ты по этому значению берешь значение массива array - это бред последний твой пример: if i - 4 == a2: у тебя i максимум 5 (потому что это не индекс) 5-4=1 1 никак не может быть равно 2 да и вообще эта конструкция не имеет смысла она всегда будет ложь, тыж от одного числа отнимаешь оно не может быть одновременно и равно 2 и отняв 4 равно всеравно двум....бред иди проспись и пиши нормально Изменено 5 декабря 2019 пользователем hira88 Поделиться сообщением Ссылка на сообщение
yellyex #8930 5 декабря 2019 (изменено) Хира, да уже всё в порядке. Осталось понять кое-что другое. Если массив: array = [a1, a2, a5, a4, a1, a2], то показывает 1 комбинацию, как и должно быть. Но, если добавить в конец массива +2 элемента, то показывает, что две комбинации. array = [a1, a2, a5, a4, a1, a2, a1, a3] a1 = 1 a2 = 2 a3 = 3 a4 = 4 a5 = 5 array = [a1, a2, a5, a4, a1, a2] c1 = 0 for i in range(len(array)): if array[i] == a2: if array[i - 1] != a2: if array[i - 2] != a2: if array[i - 3] != a2: if array[i - 4] == a2: c1 += 1 print(c1) Изменено 5 декабря 2019 пользователем yellyex moonfangtopich написал 29.08.2019 в 14:57: У вас недостаточно широкий кругозор, пацаны Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды Поделиться сообщением Ссылка на сообщение
hira88 #8931 5 декабря 2019 то показывает 1 комбинацию, как и должно быть. Но, если добавить в конец массива +2 элемента, то показывает, что две комбинации у тебя индекс отрицательный на старте когда i=0гугли что делает отрицательны индекс в питоне(в других языках другое будет) Поделиться сообщением Ссылка на сообщение
yellyex #8932 5 декабря 2019 Ты предлагаешь i выставить нулём перед итерацией? Но не работает всё равно.Выход нашёл вроде, но придётся каждый раз вручную контролировать конец массива. Если он заканчивается на а2, то -1 делать не надо. А если на другой элемент, то ставим -1 a1 = 1 a2 = 2 a3 = 3 a4 = 4 a5 = 5 array = [a1, a2, a5, a4, a1, a2, a1, a5, a3, a2, a1, a1, a4, a2, a1] c1 = 0 for i in range(len(array) - 1): if array[i] == a2: if array[i - 1] != a2: if array[i - 2] != a2: if array[i - 3] != a2: if array[i - 4] == a2: c1 += 1 print(c1) moonfangtopich написал 29.08.2019 в 14:57: У вас недостаточно широкий кругозор, пацаны Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды Поделиться сообщением Ссылка на сообщение
hira88 #8933 5 декабря 2019 (изменено) чел...ты вообще понимаешь что пишешь?отрицательный индекс-это с конца массива, положительный с начала(только в питоне так)ты ничего не решил, ты сделал подпорку под текущий массив, поменяй порядок элементов опять будет 2 массива или больше... яхз ты очень запуталсяво первых если хочешь делать index-4 то тебе нужно чтоб начальный индекс уже был 4, тоесть считать с 4 элементаfor i in range(len(array) - 1): заменить на for i in range((len(array)-1)+4): if(i>=len(array)) break ...дальше твои ифы... if array[i] == a2:... во вторых попробуй объединять условия в одноif((array == a2)&&(array[i - 1] != a2)&&(...так далее...)) ну и конечно результат может быть 2 и больше в любом случае, там как ты весь массив смотришь, если нужно одно то останавливай цикл при нахождении первого... Изменено 5 декабря 2019 пользователем hira88 Поделиться сообщением Ссылка на сообщение
yellyex #8934 5 декабря 2019 Спасибо. Объединить ифы пробовал = тоже самое.Блин я не мастер, но мне кажется, что не обязательно учитывать, есть ли конец массива, если я ставлю -4 в индекс. Код сам увидит, что значений меньше 0 индекса нет. Тем более ошибку он не выдает.Вроде решил удалением последних индексов массива не являющимися нужными. import random a1 = 1 a2 = 2 a3 = 3 a4 = 4 a5 = 5 array = [a1, a2, a5, a4, a1, a2, a3, a1, a4] c1 = 0 for i in array: if array[-1] != a2: del array[-1] if array[-1] == a2: for i in range(len(array)): if array[i] == a2: if array[i - 1] != a2: if array[i - 2] != a2: if array[i - 3] != a2: if array[i - 4] == a2: c1 += 1 print(c1) moonfangtopich написал 29.08.2019 в 14:57: У вас недостаточно широкий кругозор, пацаны Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды Поделиться сообщением Ссылка на сообщение
JuJeu #8935 5 декабря 2019 чел...ты вообще понимаешь что пишешь?отрицательный индекс-это с конца массива, положительный с начала(только в питоне так)ты ничего не решил, ты сделал подпорку под текущий массив, поменяй порядок элементов опять будет 2 массива или больше... яхз ты очень запуталсяво первых если хочешь делать index-4 то тебе нужно чтоб начальный индекс уже был 4, тоесть считать с 4 элементаfor i in range(len(array) - 1): заменить на for i in range((len(array)-1)+4): if(i>=len(array)) break ...дальше твои ифы... if array[i] == a2:... во вторых попробуй объединять условия в одноif((array == a2)&&(array[i - 1] != a2)&&(...так далее...)) ну и конечно результат может быть 2 и больше в любом случае, там как ты весь массив смотришь, если нужно одно то останавливай цикл при нахождении первого... еще в руби так. Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
EbalKopal #8937 5 декабря 2019 (изменено) После прочитанного нужно либо удалять 447 страницу, либо весь топан и больше не рехостить. Изменено 5 декабря 2019 пользователем EbalKopal Kant, dfgrd, Just.Doit и 2 другим понравилось это Поделиться сообщением Ссылка на сообщение
Rooster #8938 5 декабря 2019 `KV, Just.Doit, scarppy и 7 другим понравилось это Поделиться сообщением Ссылка на сообщение
UglyBastard #8939 5 декабря 2019 Тока спортивное программирование ничего общего не имеет с реальностью. На собесах гугло-яндекса же дают олимпиадную прогу, не? Поделиться сообщением Ссылка на сообщение
Just.Doit #8940 5 декабря 2019 После прочитанного нужно либо удалять 447 страницу, либо весь топан и больше не рехостить.и елекса забаньте плс (дебилоиды, идите в личку со своим питоном и задачками) очень крутые котейкиКому-то пизды дал - нужно сделать скрин обязательно. (с) Solo Поделиться сообщением Ссылка на сообщение