[Ответить в тред] Ответить в тред

09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!
30/09/16 - BREAKING NEWS ШОК АБУ ПРОДАЛСЯ МЭЙЛУ (на самом деле нет)
25/09/16 - Персональное обращение Абу - СБОР ПОЖЕРТВОВАНИЙ НА ДВАЧ


Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 64 | 9 | 31
Назад Вниз Каталог Обновить

Аноним 03/11/16 Чтв 13:11:17  139227503  
14780177573730.jpg (189Кб, 960x960)
Сап, /б/. Есть одна задача по программированию, друг просит помочь.
Вот условие:
Дано число. Нужно определить цифру, которая встречается в числе чаще всего.
Пикрандом
Аноним 03/11/16 Чтв 13:12:33  139227580
14320549142462.jpg (305Кб, 1920x1280)
Бамп
Аноним 03/11/16 Чтв 13:13:27  139227618
Самый простой способ:
Два массива, один с цифрами, другой со счетчиками.
Встретил цифру - увеличил счетчик.
Делай так, умностей не надо, это вызовет вопросы.
Аноним 03/11/16 Чтв 13:15:16  139227712
>>139227618
Можно по-подробнее
Аноним 03/11/16 Чтв 13:15:20  139227716
На каком языке?
Аноним 03/11/16 Чтв 13:15:52  139227740
>>139227716
> На каком языке?
На js
Аноним 03/11/16 Чтв 13:17:00  139227802
>>139227712
Один массив символов.
Второй - массив интежеров.
Идешь по строке. Проверяешь есть ли этот символ в массиве символов, а если есть, то какой по порядку.
Аноним # OP  03/11/16 Чтв 13:17:40  139227844
gandalf.jpg (43Кб, 397x317)
Бамп
Аноним 03/11/16 Чтв 13:17:48  139227850
>>139227503 (OP)
Преобразуешь число в строку, дальше от языка программирования зависит.
Аноним # OP  03/11/16 Чтв 13:20:03  139227963
>>139227850
Ну так в строку и обезьяна переведет, а мне цифры считать надо
Аноним # OP  03/11/16 Чтв 13:22:21  139228082
Бамп
Аноним # OP  03/11/16 Чтв 13:23:32  139228160
3Z6CJy9qT0.jpg (34Кб, 640x480)
Бамп
Аноним 03/11/16 Чтв 13:24:16  139228202
>>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)
Набирал с телефона, может что-то и забыл, надеюсь поймёшь
Аноним 03/11/16 Чтв 13:24:56  139228243
>>139227844
Хули ты бампаешь, тебе уже всё рассказали, пиздуй код педалить.
Аноним 03/11/16 Чтв 13:24:59  139228249
>>139228202
И q надо обнулять в конце цикла
Аноним 03/11/16 Чтв 13:25:02  139228250
https://habrahabr.ru/post/167177/
Аноним 03/11/16 Чтв 13:25:35  139228287
Изи в одну строку на питоне решается

int(sorted(map(lambda _: (str(input).count(_), _), str(input)), key=lambda _: _[0])[-1][1])
Аноним 03/11/16 Чтв 13:25:55  139228313
>>139228287
где input это вводимое число
Аноним 03/11/16 Чтв 13:27:10  139228382
>>139228202
Макаба съела a
Аноним 03/11/16 Чтв 13:27:30  139228402
>>139228382
[ i ]
Аноним 03/11/16 Чтв 13:27:33  139228407
>>139228313
А что такое lambda, map, sorted и int?
Ни хуя не понятно. По русски напиши, что делать надо.
Аноним 03/11/16 Чтв 13:28:23  139228459
>>139227850
операция нахождения остатка+массив. Будто в школе не учился.

Аноним # OP  03/11/16 Чтв 13:28:48  139228483
Если что, у меня задача на javascript, ok?
Аноним 03/11/16 Чтв 13:28:51  139228488
x = input()
max = 0
maxVal = -1
for i in range(10):
if x.count(str(i))>max:
max = x.count(str(i))
maxVal = i



Аноним 03/11/16 Чтв 13:29:15  139228514
>>139228407
Инфы в интернетах более чем достаточно. И вообще какого хуя оп не указал яп?
Аноним 03/11/16 Чтв 13:30:14  139228584
>>139227503 (OP)
ну смотри, массив из 10 элементов, в котором и будут счетчики. Встретил переменную - добавил единицу к счетчику.Число тащемта по цифрам можно разобрать с помощью простых операций.
Потом отсортируй полученный массив счетчиков методом пузырька.
Аноним # OP  03/11/16 Чтв 13:30:32  139228604
>>139228514
Потому что оп волнуется/спешит/дибил
Аноним 03/11/16 Чтв 13:31:29  139228664
>>139228604
гугли сортировку подсчётом и догадаешься как решить твою задачу
Аноним 03/11/16 Чтв 13:31:38  139228678
a[x % 10]++;
x = x / 10; (целочисленное)
Все это в цикле.
Аноним 03/11/16 Чтв 13:34:24  139228859
>>139228678
Самое охуенное решение
Аноним # OP  03/11/16 Чтв 13:35:41  139228935
>>139228859
> Самое охуенное решение
При этом js-обезьяне не понятно нихуя
Аноним # OP  03/11/16 Чтв 13:39:08  139229110
Окей, кое-какое понимание у меня есть. Осталось понять как считать цифры в числе. Как это сделать?
Аноним 03/11/16 Чтв 13:39:13  139229113
>>139228935
Полностью лень писать, с телефона неудобно.
Аноним 03/11/16 Чтв 13:39:25  139229127
>>139228935
Понятно

мимо js-обезьяна
Аноним 03/11/16 Чтв 13:40:24  139229176
>>139229110
В треде уже несколько раз показали, толстяк
Аноним 03/11/16 Чтв 13:40:41  139229188
>>139229110
число в строку, считай символы
Аноним 03/11/16 Чтв 13:41:13  139229214
>>139229113
Это хоть какой язык?
Аноним # OP  03/11/16 Чтв 13:42:09  139229254
>>139229176
Ну покажи ещё раз, оп же дибил
Аноним 03/11/16 Чтв 13:44:00  139229352
>>139229254
И он не может прочитать тред сначала?
Аноним 03/11/16 Чтв 13:44:03  139229354
>>139229214
Если x / 10 заменить на Math.floor(x / 10), то вполне js.
Аноним 03/11/16 Чтв 13:45:10  139229418
>>139229254
Сортируешь строчку и проходишь ее подсчитывая, сколько раз встречается символ.
Аноним 03/11/16 Чтв 13:45:59  139229477
>>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;
}
}
Аноним 03/11/16 Чтв 13:46:00  139229479
>>139227503 (OP)
преобразуешь число в строку, разибиваешь по символам. Далее сравниваешь каждый символ с символом 1, 2, 3 и так далее. При этом если сравнение удачное то в некую переменную (i1, i2, i3, например, и так далее) добавляется 1. Затем сравниваешь все переменные эти. Когда будет самая большая то пишешь то что если эта переменная больше той то написать что та цифра чаще всего встречается.
мимо немного программировал на c++
Аноним 03/11/16 Чтв 13:46:54  139229527
>>139229477
Самое элегантное решение за весь тред
Аноним 03/11/16 Чтв 13:48:11  139229597
>>139227802
Число в строку только не забудь перевести сначала.
Аноним # OP  03/11/16 Чтв 13:48:32  139229620
CR5lycocEAY.jpg (131Кб, 682x1024)
>>139229477
Бесперебойный поток чая тебе в хату. Вот то объяснение, что я искал.
Аноним 03/11/16 Чтв 13:48:40  139229631
>>139229527
и самое неоптимальное
Аноним 03/11/16 Чтв 13:51:37  139229815
>>139229477
Нахуй усложнять?
Просто
penis[jopa]++ в цикле
Аноним 03/11/16 Чтв 13:53:17  139229910
>>139229815
Блять, ебанная макаба. Обычные на квадратные замени:
penis(jopa(i))++
Аноним 03/11/16 Чтв 13:54:18  139229968
>>139229254
Гуманитарный алгоритм уровня /б/
Сортируешь строку,
потом
a:=0
p:=0
q:=0
i:=0
j:=0
for i = 1 to длина строки
a := строка(i)
if a = строка(i+1)
p=p+1
else
if p>q
q:=p
else
p=1
Аноним 03/11/16 Чтв 13:58:45  139230264
>>139227618

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

А то, суки, дождётесь - это говно ещё поставят начальником на вами и он будет руководить.
Аноним 03/11/16 Чтв 13:59:35  139230333
>>139229910
Ну да, так проще. Только не факт, что оп поймёт
Аноним 03/11/16 Чтв 13:59:47  139230347
>>139227503 (OP)
Блять, что вообще может быть легче? Идите учитесь, блять, задача на уровне современного семиклассника.
Аноним 03/11/16 Чтв 14:01:02  139230425
Ну и на питоне
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)
Аноним 03/11/16 Чтв 14:01:10  139230435
>>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);
Аноним 03/11/16 Чтв 14:01:47  139230476
>>139230435
У меня на питоне круче
>>139230425
Аноним 03/11/16 Чтв 14:07:38  139230849
>>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);
Аноним 03/11/16 Чтв 14:12:13  139231120
>>139230849
Ну. Пой код прост и без эзотерики. Все понятно :)
А вот у тебя сплит и форич и 2 тернарных оператора и редьюс
Аноним 03/11/16 Чтв 14:12:34  139231146
>>139231120
Мой код*
фикс
Аноним 03/11/16 Чтв 14:16:05  139231343
Junko-Enoshima-[...].jpg (171Кб, 1920x1080)
>>139231120
И что зато модна
Аноним 03/11/16 Чтв 14:16:58  139231393
>>139231343
жаваскрипт как пхп
Аноним 03/11/16 Чтв 14:20:37  139231619
5(210).png (381Кб, 960x560)
>>139231393
Пахахахаха.
Аноним 03/11/16 Чтв 14:23:56  139231843
блять, покидайте пикчи как пикрелейтед, шишка дымится
Аноним 03/11/16 Чтв 14:32:45  139232384
>>139231843
Здесь тебе не фаптред, а вообще проследуйте на http://2ch.hk/fet
Аноним 03/11/16 Чтв 14:35:46  139232528
>>139232384
Здесь мертвый pr

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 64 | 9 | 31
Назад Вверх Каталог Обновить

Топ тредов
Избранное