Сап, /б/. Есть одна задача по программированию, друг просит помочь.Вот условие:Дано число. Нужно определить цифру, которая встречается в числе чаще всего. Пикрандом
Бамп
Самый простой способ: Два массива, один с цифрами, другой со счетчиками. Встретил цифру - увеличил счетчик.Делай так, умностей не надо, это вызовет вопросы.
>>139227618Можно по-подробнее
На каком языке?
>>139227716> На каком языке?На js
>>139227712Один массив символов. Второй - массив интежеров.Идешь по строке. Проверяешь есть ли этот символ в массиве символов, а если есть, то какой по порядку.
>>139227503 (OP)Преобразуешь число в строку, дальше от языка программирования зависит.
>>139227850Ну так в строку и обезьяна переведет, а мне цифры считать надо
>>139227740А хуй его знает. Напишу алгоритм.Можно взять двойного цикл.Он будет перебирать все возможные вариантыMax=a[1]; k=1От i=1 до n(к0л в0 цифр) От j=1 до n-1 { If a=a[j] then inc(q) If q>k then k=q; max=a}Printf(max)Набирал с телефона, может что-то и забыл, надеюсь поймёшь
>>139227844Хули ты бампаешь, тебе уже всё рассказали, пиздуй код педалить.
>>139228202И q надо обнулять в конце цикла
https://habrahabr.ru/post/167177/
Изи в одну строку на питоне решаетсяint(sorted(map(lambda _: (str(input).count(_), _), str(input)), key=lambda _: _[0])[-1][1])
>>139228287где input это вводимое число
>>139228202Макаба съела a
>>139228382[ i ]
>>139228313А что такое lambda, map, sorted и int?Ни хуя не понятно. По русски напиши, что делать надо.
>>139227850операция нахождения остатка+массив. Будто в школе не учился.
Если что, у меня задача на javascript, ok?
x = input()max = 0maxVal = -1for i in range(10):if x.count(str(i))>max:max = x.count(str(i))maxVal = i
>>139228407Инфы в интернетах более чем достаточно. И вообще какого хуя оп не указал яп?
>>139227503 (OP)ну смотри, массив из 10 элементов, в котором и будут счетчики. Встретил переменную - добавил единицу к счетчику.Число тащемта по цифрам можно разобрать с помощью простых операций.Потом отсортируй полученный массив счетчиков методом пузырька.
>>139228514Потому что оп волнуется/спешит/дибил
>>139228604гугли сортировку подсчётом и догадаешься как решить твою задачу
a[x % 10]++;x = x / 10; (целочисленное) Все это в цикле.
>>139228678Самое охуенное решение
>>139228859> Самое охуенное решениеПри этом js-обезьяне не понятно нихуя
Окей, кое-какое понимание у меня есть. Осталось понять как считать цифры в числе. Как это сделать?
>>139228935Полностью лень писать, с телефона неудобно.
>>139228935Понятномимо js-обезьяна
>>139229110В треде уже несколько раз показали, толстяк
>>139229110число в строку, считай символы
>>139229113Это хоть какой язык?
>>139229176Ну покажи ещё раз, оп же дибил
>>139229254И он не может прочитать тред сначала?
>>139229214Если x / 10 заменить на Math.floor(x / 10), то вполне js.
>>139229254Сортируешь строчку и проходишь ее подсчитывая, сколько раз встречается символ.
>>139227712переменная jopa = ["ч","и","с","л","о"];переменная penis = [0,0,0,0,0,0,0,0,0,0];n = длина(jopa);От i = 1 до n { Если jopa == "1" то { penis[1] = penis[1]+1; } Если jopa == "2" то { penis[2] = penis[2]+1; }... Если jopa == "9" то { penis[9] = penis[9]+1; } Если jopa == "0" то { penis[10] = penis[10]+1; }}
>>139227503 (OP)преобразуешь число в строку, разибиваешь по символам. Далее сравниваешь каждый символ с символом 1, 2, 3 и так далее. При этом если сравнение удачное то в некую переменную (i1, i2, i3, например, и так далее) добавляется 1. Затем сравниваешь все переменные эти. Когда будет самая большая то пишешь то что если эта переменная больше той то написать что та цифра чаще всего встречается.мимо немного программировал на c++
>>139229477Самое элегантное решение за весь тред
>>139227802Число в строку только не забудь перевести сначала.
>>139229477Бесперебойный поток чая тебе в хату. Вот то объяснение, что я искал.
>>139229527и самое неоптимальное
>>139229477Нахуй усложнять?Просто penis[jopa]++ в цикле
>>139229815Блять, ебанная макаба. Обычные на квадратные замени:penis(jopa(i))++
>>139229254Гуманитарный алгоритм уровня /б/Сортируешь строку,потом a:=0p:=0q:=0i:=0j:=0for i = 1 to длина строкиa := строка(i)if a = строка(i+1)p=p+1elseif p>qq:=pelsep=1
>>139227618В стране рабочих рук не хватает, а вы помогаете этому пидарасу. В армию и на завод болты крутить.А то, суки, дождётесь - это говно ещё поставят начальником на вами и он будет руководить.
>>139229910Ну да, так проще. Только не факт, что оп поймёт
>>139227503 (OP)Блять, что вообще может быть легче? Идите учитесь, блять, задача на уровне современного семиклассника.
Ну и на питонеstr_num = str(35165196818619)d = {int(digit): str_num.count(digit) for digit in set(str_num)}res = max(d, key=d.get)print(res)
>>139227503 (OP)Топовый джаваскриптер врывется в тредvar x = prompt('enter number');var counter = {};var arr = x.split('');arr.forEach(function(n){ if(counter[n]) counter[n]++; else counter[n]=1;})var ans = Object.keys(counter).reduce(function(a, b){ return counter[a] > counter ? a : b })alert(ans);
>>139230435У меня на питоне круче>>139230425
>>139230476Код не тем круче, чем он короче, а тем что понятнее. var x = prompt('enter number');var counter = {};x.split('').forEach(function(n){ counter[n] = counter[n] ? counter[n] + 1 : 1;})var ans = Object.keys(counter).reduce(function(a, b){ return counter[a] > counter ? a : b })alert(ans);
>>139230849Ну. Пой код прост и без эзотерики. Все понятно :)А вот у тебя сплит и форич и 2 тернарных оператора и редьюс
>>139231120Мой код*фикс
>>139231120И что зато модна
>>139231343жаваскрипт как пхп
>>139231393Пахахахаха.
блять, покидайте пикчи как пикрелейтед, шишка дымится
>>139231843Здесь тебе не фаптред, а вообще проследуйте на http://2ch.hk/fet
>>139232384Здесь мертвый pr