Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


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

Check this out!

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 183 | 13 | 21
Назад Вниз Каталог Обновить

Аноним 03/12/17 Вск 01:57:38  166195230  
14514203555120.jpg (41Кб, 480x480)
Сап, ночной, /pr/ молчит, а мне нужна помощь анона: нужно написать программу, раскладывающую натуральное число на простые множители. Задача то вроде б легкая, но вот загвоздка: число очень большое(знаков больше 11) и влезает только в строку, а как делить строку на строку я не вдупляю и нормальную инфу по этому поводу найти никак не получается. Может ты подскажешь?
Аноним 03/12/17 Вск 01:58:48  166195282
14677301046200.jpg (10Кб, 209x200)
И сразу бамп
Аноним 03/12/17 Вск 01:59:18  166195310
15034342349753.jpg (26Кб, 410x404)
И еще!
Аноним 03/12/17 Вск 01:59:48  166195331
B1Ojruiw4IM.jpg (14Кб, 261x243)
>>166195230 (OP)
Вверх!
Аноним 03/12/17 Вск 02:01:16  166195391
NOt-S-57naw.jpg (34Кб, 602x433)
Ну же
Аноним 03/12/17 Вск 02:03:00  166195479
sGSHyDpuIbA.jpg (55Кб, 604x559)
Бампс
Аноним 03/12/17 Вск 02:03:55  166195523
5MUqZpbAsqU.jpg (57Кб, 453x604)
Бамп
Аноним 03/12/17 Вск 02:04:11  166195536
14757901061690.png (6Кб, 251x201)
Бамп
Аноним 03/12/17 Вск 02:04:17  166195541
Ну эт очень просто. Прочитай брошюрку по разделу математики под названием теория чисел, страниц на 5-8 плотного текста.
как ты собрался "ты" разделить на "лох" в общем случае? Я знаю, что делить слова можно
Аноним 03/12/17 Вск 02:04:46  166195570
>>166195230 (OP)
Шо компутеры ужо придумали?
Аноним 03/12/17 Вск 02:05:01  166195581
>>166195541
Мда, обезьянья разметка работает не очен.
Аноним 03/12/17 Вск 02:08:21  166195754
>>166195230 (OP)
юзай дабл, ну или разбивай число на 2 переменные, но всё же лучше дабл
Аноним 03/12/17 Вск 02:09:33  166195801
UqIaMnX0L6k.jpg (61Кб, 451x604)
>>166195754
Ну не влезет же. Больше 11 знаков, может быть и число с 30 знаками
Аноним 03/12/17 Вск 02:10:42  166195842
Язык какой?
В ебучей джаве береш всякие BigDecimal и делаешь что хочешь. Можешь свои рапперы написать в любом случае.
Аноним 03/12/17 Вск 02:11:35  166195884
>>166195230 (OP)
>знаков больше 11
Ты даун что ли? В uint64_t влезет аж 18446744073709551616, не то что сраные 99999999999

Или говори насколько больше.
Аноним 03/12/17 Вск 02:13:03  166195959
>>166195842
с++
Аноним 03/12/17 Вск 02:13:48  166195989
>>166195842
Что то мне подсказывает, что любое число что не влезет в 64 бита будет на множители раскладываться вечность, и в длинной арифметике смысла нет
Аноним 03/12/17 Вск 02:14:30  166196021
Твой ответ – перл 6 рили, местная математика очень даже ничего, если с синтаксиса не проблюешься, конечно же
Аноним 03/12/17 Вск 02:14:32  166196024
>>166195884
10^25-1 влезет?
Аноним 03/12/17 Вск 02:14:46  166196036
>>166195884
Вообще любое число, большее 11 знаков. Нужна универсальная программа.
Аноним 03/12/17 Вск 02:15:26  166196070
>>166196021
Мне на плюсах ее надо
Аноним 03/12/17 Вск 02:16:24  166196110
>>166196024
нет
>>166196036
Опиши сам алгоритм и какая там сложность то. Разложение на множители это часом не экспонента там или чего похуже? Для больших чисел оно считается вообще?
Аноним 03/12/17 Вск 02:16:30  166196114
>>166196070
Уже прочел, тогда ответ тебе дали выше, юинт
Аноним 03/12/17 Вск 02:17:34  166196141
>>166195959
Очевидная либа https://gmplib.org/
Аноним 03/12/17 Вск 02:17:50  166196150
Алсо простые числа любят в криптографии, можешь к ним сходить
Аноним 03/12/17 Вск 02:18:29  166196178
>>166196114
В юинт не влезет. С другой стороны можно попробовать на векторопараше - там и 128битные регистры, и побольше. А уже в 128 влезет даже аллах, не то что требуемое 1025й
Аноним 03/12/17 Вск 02:19:33  166196221
>>166195230 (OP)
AKS реализуешь или что?
Аноним 03/12/17 Вск 02:20:35  166196250
>>166196036
Урод, я же тебе написал, прочитай книжку по тч. Тогда тебе станет понятно, что если ты научишься раскладывать большие числа на множетели, то тут же сможешь взломать любой код. Они на этом ыакие и держатся. Уже для 11 знаков твой перебор в лоб - не самое быстрое дело, а дальше и подавно.
Аноним 03/12/17 Вск 02:21:09  166196279
14457983192810.jpg (22Кб, 267x274)
>>166196221
>>166196178
Мне индивидуалку надо сделать по аип. Векторы мы не проходили, соответственно юзать их нельзя.Вот такие пироги.
Аноним 03/12/17 Вск 02:22:39  166196330
>>166196279
>Векторы мы не проходили, соответственно юзать их нельзя
а ты не говорил что препод у вас тоже дебил.
Аноним 03/12/17 Вск 02:24:02  166196370
>>166196330
Теперь ты знаешь =)
Аноним 03/12/17 Вск 02:25:46  166196437
>>166195230 (OP)
какой язык, какой размер входных данных, какие требования к скорости
Аноним 03/12/17 Вск 02:27:31  166196488
>>166196437
С++, знаков больше 11(неограничено), к скорости сильных требований нет, но чем эффективнее, тем лучше
Аноним 03/12/17 Вск 02:28:43  166196534
>>166196488
>неограничено
Чувак, так не бывает.

Начнем с того, что тебе придется хранить таблицу простых чисел, уже этим ограничен размер.
Аноним 03/12/17 Вск 02:29:50  166196578
>>166196488
а что от тебя надо, написать цикл до корня?
Аноним 03/12/17 Вск 02:31:56  166196658
>>166195230 (OP)
>как делить

В столбик
Аноним 03/12/17 Вск 02:37:19  166196862
>>166196534
Ну я в тексте задания написано только что знаков больше 11
Аноним 03/12/17 Вск 02:37:44  166196879
>>166196578
Надо вывести делители числа
Аноним 03/12/17 Вск 02:37:57  166196893
>>166196862
и ты взял uint64?
Аноним 03/12/17 Вск 02:38:02  166196896
>>166196658
Спасибо, я это понял
Аноним 03/12/17 Вск 02:39:04  166196934
>>166196893
Я его не смог б взять, так как я не знаю что это. Это мне советовали. В задании сказано что число надо вводить в строку и дальше от этого плясать
Аноним 03/12/17 Вск 02:39:21  166196944
>>166196862
Ну ты все равно верхний барьер то придумай. Все равно бесконечные числа оно щелкать не будет, сам понимаешь.

А там уже пляшешь от верхнего барьера и считаешь вычислительную сложность и сколько будет считаться результат в худшем случае
Аноним 03/12/17 Вск 02:40:13  166196978
>>166196944
Ну например 20-30 цифр, но что мне это даст?
Аноним 03/12/17 Вск 02:40:49  166197000
>>166196934
да вы издеваетесь.
Аноним 03/12/17 Вск 02:41:00  166197015
>>166196978
Это тебе даст размер таблицы натуральных чисел, которую тебе придется хранить.
Аноним 03/12/17 Вск 02:41:59  166197051
>>166197015
А как я с помощью таблицы разложу число?
Аноним 03/12/17 Вск 02:42:38  166197071
>>166195230 (OP)
во-первых ты хуй и мудак
во-вторых BigInteger
Аноним 03/12/17 Вск 02:43:01  166197091
>>166197051
вы не учили этого в школе?
Аноним 03/12/17 Вск 02:44:04  166197132
>>166197071
забыл дописать

в-третьих, вас, тупых уебанов, на лекциях всему этому говну учили, пока ты хуёв себе в уши напихал
Аноним 03/12/17 Вск 02:44:17  166197143
>>166197091
Нет
Аноним 03/12/17 Вск 02:44:17  166197144
>>166197051
Бля, ты даун что ли? По очереди проверяешь делится ли твое число на натуральное из ряда, если делится - делишь и повторяешь, тебе нужен ряд до квадратного корня проверяемого числа.

Законов натуральных чисел я не знаю, и как растет их количество - тоже хз, так что сколько она займет - в душе не ебу. Но вычисление натуральных чисел нихуя не такая тривиальная задача
Аноним 03/12/17 Вск 02:45:42  166197194
>>166197144
Как мне строку на строку делить? Если б число было типа интеджер, я б не создавал тред
Аноним 03/12/17 Вск 02:46:51  166197246
>>166197194
во-первых ты хуй и мудак
во-вторых BigInteger
в-третьих, вас, тупых уебанов, на лекциях всему этому говну учили, пока ты хуёв себе в уши напихал
Аноним 03/12/17 Вск 02:46:58  166197249
>>166197194
Сука какой же ты ебаный дебил. Строку в число переводишь, идиота кусок.
Правда в твоем случае скорее всего придется юзать длинную арифметику. Но ты опять начинаешь не с той хуйни.

Иди генерируй блядь таблицу натуральных чисел. От ее размера и будет все зависеть.
Аноним 03/12/17 Вск 02:47:52  166197288
>>166195230 (OP)
на гитхабе посмотри как в С++ реализуют большие числа и просто скопируй нужное.
Аноним 03/12/17 Вск 02:49:35  166197368
>>166197249
нахуя ему генерировать таблицу натуральных?

берешь числа начиная от 2, пока делится на число - делишь. не делится - инкрементируешь делитель. продолжаешь пока делитель не стал равен самому числу, либо частное не стало единицей. всё блять.
таблицу он генерировать собрался. ты ему еще про решето эратосфена тут расскажи, ему это всё нахуй не всралось, ему лабу делатью
Аноним 03/12/17 Вск 02:51:07  166197434
>>166197368
>берешь числа начиная от 2, пока делится на число - делишь.
а ты подели большое число для начала.
Аноним 03/12/17 Вск 02:51:28  166197451
>>166197368
>берешь числа начиная от 2, пока делится на число - делишь
И получаешь сложность O = n*n как минимум, охуеть теперь.

Даун, ему надо делить на простые числа. А количество простых чисел намного блять меньше чем чисел вообще.
Аноним 03/12/17 Вск 02:52:17  166197481
>>166197434
BigНахуйInteger, 3 раз блять уже пишу, хули вам не понятно
>>166197451
>И получаешь сложность O = n*n
не похуй ли? ЛАБА. ЭТО. ЁБАНАЯ. ЛАБА. БЛЯТЬ.
Аноним 03/12/17 Вск 02:53:07  166197504
>>166197481
>не похуй ли? ЛАБА. ЭТО. ЁБАНАЯ. ЛАБА. БЛЯТЬ.
Ты еблан сука что ли? Посчитай сколько займет этот сраный цикл даже для числа в 11 знаков!!! (а 11 знаков - это минимум)
Аноним 03/12/17 Вск 02:53:32  166197524
>>166197504

ну и сколько
Аноним 03/12/17 Вск 02:54:05  166197555
>>166197481
>BigНахуйInteger, 3 раз блять уже пишу, х
Это в жабе только
>не похуй ли? ЛАБА. ЭТО. ЁБАНАЯ. ЛАБА. БЛЯТЬ.
а потом спрашивают почему это скайп жрёт 200мб и программа где рисуется залупа твоей мамаши тормозит на топовом ПС.
Аноним 03/12/17 Вск 02:54:58  166197592
>>166197555
ЛАБА ДЕГЕНЕРАТА СПРАШИВАЮЩЕГО КАК ПИСАТЬ КОД У ДВАЧА
@
АНОНЫ ОБСУЖДАЮТ ИСХОДНИКИ СКАЙПА
@
ВПРОЧЕМ, НИЧЕГО НОВОГО
Аноним 03/12/17 Вск 02:55:05  166197595
>>166197481
>BigНахуйInteger, 3 раз блять уже пишу, хули вам не понятно
Еблан, ты так за всю жизнь ни одно число так и не разделишь.

>>166197524
Я же говорю, сложность в случае такой параши получится квадратичная. А квадратичная сложъность с большими числами - это пиздец.

Делить надо не на все, а только на простые, их на порядки меньше
Аноним 03/12/17 Вск 02:56:05  166197638
>>166197555
а тебе под что надо то?
в .NET тоже есть
в остальных языках есть аналоги. нету у самого языка - будет библиотека. не еби мозг, а используй гугл.
Аноним 03/12/17 Вск 02:56:51  166197658
https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%86%D0%B5%D0%BB%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB
Можешь посмотреть пару относительно простых алгоритмов, которые будут работать быстрее, чем генерация простых решетом эратосфена.
Аноним 03/12/17 Вск 02:56:54  166197662
>>166197595
Так, теперь я понял почему это пиздато. Окей, я сгенерирую таблицу простых чисел, но как мне все ж делить число в строке на другое число?
Аноним 03/12/17 Вск 02:57:58  166197697
>>166197595
>Еблан, ты так за всю жизнь ни одно число так и не разделишь.
обоснуй
>>166197595
>Я же говорю, сложность в случае такой параши получится квадратичная. А квадратичная сложъность с большими числами - это пиздец.
этого разве что дегенерат оп может не понимать. да. это так. и хули?
>Делить надо не на все, а только на простые, их на порядки меньше
на результат это не влияет. скорость выполнения в условиях не значится.
задача на 20 строк кода блять, а тред уже тянется 67 постов.

Аноним 03/12/17 Вск 02:58:16  166197707
Помню участвовал в городской олимпиаде, было похожее задание только нужно было сделать умножение, использовать biginteger и операции библиотеки math нельзя, я так и не решил...
Аноним 03/12/17 Вск 02:58:54  166197727
>>166197662
Либо реализовать длинную арифметику. Либо спиздить где то готовую реализацию
Аноним 03/12/17 Вск 02:58:56  166197728
>>166197707
можно написать свой BigInteger, я такую херню для олимпиады на паскале писал
Аноним 03/12/17 Вск 03:00:13  166197766
>>166197707
с умножением в общем-то вообще никаких проблем. умножил разряд, запомнил остаток, перешел к следующему разряду, умножил, приплюсовал предыдущий остаток, запомнил новый. хули сложного то блять
Аноним 03/12/17 Вск 03:00:28  166197771
>>166197728
Интересно. И шо ты с ним делал?
Аноним 03/12/17 Вск 03:00:45  166197778
160927210830-tk[...].jpg (34Кб, 780x438)
пока вы тут обсуждаете всякое, можете глянуть мимоходом мое говноподелие под названием борда на ноде и реакте
https://dumpach.anonymous.lv/
Аноним 03/12/17 Вск 03:00:56  166197783
>>166197766
То что умножение "в столбик" десятичных чисел - крайне хуевая и медленная наивная реализация.
Аноним 03/12/17 Вск 03:01:05  166197790
>>166197778
ну и добавить в закладки, на будущее
Аноним 03/12/17 Вск 03:01:57  166197823
>>166197778
А смысл? Бордочек как говна, и слепить свою парашу может даже шкальник.
Аноним 03/12/17 Вск 03:02:17  166197837
>>166197783
и хули? для школьной олимпиады это важно?
Аноним 03/12/17 Вск 03:02:40  166197852
>>166197823
я всего лишь вбросил, дальше делай, что пожелаешь
Аноним 03/12/17 Вск 03:02:45  166197857
>>166197771
деление, умножение
Аноним 03/12/17 Вск 03:02:53  166197863
>>166197837
Могут ебануть отдельный тестер, который будет проверять скорость выполнения.
Аноним 03/12/17 Вск 03:02:56  166197866
>>166197783
Для городских олимпиад обычно большего и не требуют.
Аноним 03/12/17 Вск 03:03:15  166197875
>>166197837
Я думаю, в случае опа важно чтобы когда он вбил какое-то число для теста - чтобы оно досчиталось, а не начало майнить эту хуйню вечность.
Аноним 03/12/17 Вск 03:04:11  166197909
>>166197875
Без вечных циклов сложновато заставить даже очень хуёвый проц майнить вечность.
Аноним 03/12/17 Вск 03:04:22  166197918
>>166197875
преувеличиваешь проблему
Аноним 03/12/17 Вск 03:05:12  166197946
>>166197863
Кстати да была проверка скорости работы(длительности)
Аноним 03/12/17 Вск 03:05:36  166197962
>>166197909
Числа, длина которых превышает тактовую частоту проца - вполне помогут обеспечить эту вечность.
Аноним 03/12/17 Вск 03:06:28  166197988
ПОЯСНЯЮ ДЛЯ ТОП ПРОГЕРОВ ВЫШЕ
Разложение числа на простые множители- это вот так вот:
18=233
35=5*7
Если число больше 11 знаков, то с вероятность 150% оно дойдет до вида в 2-3 знака при делении на 2-3-5-7-11, а то и вообще целиком разложится
КАКОЙ НАХУЙ РЯД ПРОСТЫХ ЧИСЕЛ?
Теперь ближе к алгоритму:
Число из строки записываешь в массив, каждую цифру в отдельную ячейку
В цикле делишь на все подряд выше двойки. Да, сложность охуевшая в теории, но на практике итераций будет 10-11как я уже сказал выше. Это называется длинная арифметика, гугли как это дело делится.
В результате деления, если получил целое число, записиваешь делитель в строку, число перезаписываешь в свой массив и повторяешь так, пока твое число не превратится в 1
Аноним 03/12/17 Вск 03:06:33  166197989
>>166197962
Эту хуйню разве винда не должна браковать?
Аноним 03/12/17 Вск 03:06:40  166197995
>>166197962
биты больше герц, что я читаю.
Аноним 03/12/17 Вск 03:08:09  166198044
>>166197988
тут аноны предлагают вводить в прогу простое число длиной 4к, так что тебя сейчас обосрут
Аноним 03/12/17 Вск 03:09:56  166198099
уже снег выпал, а кретинизм уровня сентября.
Аноним 03/12/17 Вск 03:10:02  166198109
>>166198044
4ккк*
Аноним 03/12/17 Вск 03:10:24  166198120
>>166197995
Сука, хули ты биты приплел, даун?

Сам посмотри - предположим, проц частотой 1ГГц. В идеале - одно деление займет 1 такт, итого ты за секунду можешь поделить миллиард чисел (на самом деле гораздо меньше, но не суть). А это ебаное число тут предлагают делить ебанистическое число раз, побольше миллиарда - что сведет эту хуйню к вечности.
Аноним 03/12/17 Вск 03:10:37  166198127
>>166197451
А список простых чисел у тя имеется, разумеется. Или ты умеешь искать следующее число, зная н предыдущих.
Аноним 03/12/17 Вск 03:11:14  166198143
Quadruple math в помощь, вижуалстудио сасат
Аноним 03/12/17 Вск 03:12:02  166198167
>>166198127
Список простых чисел или спиздить готовый с какого-нибудь сайта (пи же считают до ебанутых чисел - и таблица эта наверняка есть, я вот до 1000000000000 нашел, может и выше есть). Или предрасчитать.

Но задать ее уже вычисленной и константной.
Аноним 03/12/17 Вск 03:12:12  166198171
тут оп еще жив?
Аноним # OP  03/12/17 Вск 03:13:20  166198211
>>166198171
Привет, я знаю, что я долбаеб =)
Аноним 03/12/17 Вск 03:13:20  166198212
>>166198109
погуглите самое большое простое число, последнее высчитаное считалось 10 дней на супер пк, хуй знает о чем вы тут спорите в таком случае
Аноним 03/12/17 Вск 03:13:31  166198217
>>166198167
обсуждают числа длиной больше тактовой частоты процессора, то бишь больше 4*10^9
предлагают забить в константу список простых чисел
Аноним 03/12/17 Вск 03:14:27  166198245
>>166198120
я приплел сюда биты, потому что когда ты пишешь код, длина чисел измеряется битами. а не количеством десятичных разрядов, как делают математики и двоечники. не говоря уже о том, что деление не займет один такт, это мог бы и знать.
Аноним 03/12/17 Вск 03:15:27  166198279
>>166198217
Список простых чисел будет всяко меньше, чем список просто натуральных чисел (причем еще каждое на простоту проверять придется, а это уже кубическая сложность блять или даже n в 4й)
Аноним 03/12/17 Вск 03:16:11  166198302
>>166198167
Спизди список простых чисел, умник
274 207 281 − 1
Вот одно из них
Аноним 03/12/17 Вск 03:17:06  166198340
>>166198279
А нахуя проверять на простоту? Если число не делится на 2, то не делится и на 4
Аноним 03/12/17 Вск 03:17:10  166198343
А я еще раз напомню, что оп не в состоянии разделить строку на строку, а вы тут думаете, как оптимизировать, чтобы н^2 не получилось, кстати если делить только на простые, то ситуацию это не спасет.
Может подумать о том, что оп обосрался и ему не могли дать такое задание?
Аноним 03/12/17 Вск 03:17:18  166198347
>>166198245
> не говоря уже о том, что деление не займет один такт
> (на самом деле гораздо меньше, но не суть)
Ты там в глаза ебешься, наркоман? Или "сложность алгоритма" для тебя неведомое понятие?

Похуй сколько оно займет инструкций - сложность будет одна и та же, только константный множитель другим будет
Аноним 03/12/17 Вск 03:18:32  166198383
>>166198302
спизди список, забей в константу, ТАК ЖЕ БУДЕТ БЫСТРЕЕ А ВДРУГ ПРЕПОДЫ В ГОВНОВУЗИКЕ ПРОВЕРЯТ СКОРОСТЬ ВЫПОЛНЕНИЯ ПРОГИ
@
НА РАЗМЕР ПРОГИ КОНЕЧНО ЖЕ ЗАБИВАЕМ ХУЙ, ПОТОМУ ЧТО В ПРОТИВНОМ СЛУЧАЕ АНОН ОБОСРАЛСЯ.
Аноним 03/12/17 Вск 03:18:46  166198389
судя по тупости опа и постановки задачи, я предполагаю что от него ожидается код с логикой уровня
[1..sqrt(n)]
\x.filter (n%x) == 0
yield [x, n/x]
только на плюсах
Аноним 03/12/17 Вск 03:19:09  166198400
>>166198340
>А нахуя проверять на простоту? Если число не делится на 2, то не делится и на 4
А так же не делится на 8, 10, 12 и так до бесконечности.
Ты тут предлагаешь заебенить решето эратосфена с бесконечной памятью, да?

Просто задача опа не решается, вычислительная сложность реализации не позволит блять считать большие числа.
Аноним 03/12/17 Вск 03:19:11  166198402
>>166198279
Список ты будешь брать с харда, а натуральные генерятся на ходу. Алсо проиграл с твоих познаний в оценках сложности.
Аноним 03/12/17 Вск 03:19:16  166198404
>>166198211
ну и как тебе творящаяся в треде содомия?
или ты вот этот самый уёба? >>166198245
Аноним 03/12/17 Вск 03:19:22  166198408
>>166198279
И я уже написал выше, в 150% число сведется до 2-3 знаков с множителями 2-3-5-7-11, если ты не возьмешь почтипростое число, размером больше 11 знаков. Но даже если так- ты дольше будешь ряд простых генерировать
Аноним 03/12/17 Вск 03:19:40  166198418
>>166198402
Ну и какова по твоему сложность деления, а, умник?
Аноним 03/12/17 Вск 03:21:03  166198457
>>166198408
>Но даже если так- ты дольше будешь ряд простых генерировать
Ряд простых невозможно сгенерировать, блять. Каждое число невозможно получить из предыдущих, это тебе не факториал и не фибоначчи блять. Надо каждое число проверять на простоту с непрерывно возрастающей сложностью бля
Аноним 03/12/17 Вск 03:21:14  166198462
>>166198404
нет, кажется очевидно, что мы два разных человека.
Аноним 03/12/17 Вск 03:21:43  166198473
>>166198457
эратосфена знаешь?
Аноним 03/12/17 Вск 03:21:45  166198474
>>166198402
кстати у меня есть просто ахуительная идея.
забиваешь в прогу массив. ключ - число, значения - его делители. при вводе числа просто возвращаешь массив его делителей. ВЕДЬ СКОРОСТЬ ЧТЕНИЯ С ДИСКА ВЫШЕ ЧЕМ ГЕНЕРАЦИЯ НА ХОДУ

блять как же я с вас проигрываю
Аноним 03/12/17 Вск 03:22:16  166198483
>>166198473
этого пидора в химках видал, деревянными членами торгует
Аноним # OP  03/12/17 Вск 03:22:17  166198484
>>166198404
Это весело =) Я знал на что иду
Аноним 03/12/17 Вск 03:22:36  166198495
>>166198473
У тебя есть бесконечное число памяти чтобы заполнить таблицу для чисел неизвестного размера?
Аноним 03/12/17 Вск 03:22:47  166198499
>>166198418
Нужно в книжку лезть, смотреть оптимальные алгоритмы проверки простоты. Но точно нельзя пользоваться признаком в духе
"Так еба, шо тут у нас, лишнее действие математическое, ну накину степень, хотя оно страшное какоет, проверкп простоты, накину две, погоди ..."
Аноним 03/12/17 Вск 03:23:49  166198528
>>166198499
>Нужно в книжку лезть, смотреть оптимальные алгоритмы проверки простоты.
Сука, нету оптимальных способов проверки простоты! Это классика блять.
Аноним 03/12/17 Вск 03:24:07  166198541
>>166198457
Да я ъуй знает, что вы подразумеваете под "генерацией ряда простых", я сам дебил еще тот
Но делить только на простые, или не только на простые- это не важно, напиши программу, которая так будет делать для чисел меньше 11 знаков это 20 строк, дай ей рандомно 100000000 чисел, пусть оно тебе выведет среднее время выполнения, или блять результаты, или что-то, что тебя убедит
Аноним 03/12/17 Вск 03:24:42  166198557
>>166198474
Че? Я написал, что считать с диска в память сильно медленней, чем просто ррибавить единицу к числу, которое уже в памяти. Я не прав, хочешь сказать?
Аноним 03/12/17 Вск 03:25:49  166198582
>>166198528
Че? Есть несколько алгоритмов, среди них есть какойнть наилучший, через интегралы какиенть.
Аноним 03/12/17 Вск 03:26:35  166198606
>>166198557
>погуглите самое большое простое число, последнее высчитаное считалось 10 дней на супер пк
>считать с диска в память сильно медленней, чем просто ррибавить единицу к числу, которое уже в памяти. Я не прав, хочешь сказать?
Аноним 03/12/17 Вск 03:27:33  166198643
>>166198582
Все более быстрые тесты простоты чем с кубической (точнее n в степени 2.5) - не точные, а вероятностные
Аноним 03/12/17 Вск 03:27:46  166198651
Оп, если ты не траль, почему ты не обсудил все это с преподом или однокурсниками?
Аноним 03/12/17 Вск 03:27:47  166198653
>>166198541
В половине случаев число будет делится на два, в 1/3-1/6. На три и так далее. Результаты будут не сильно отличаться.
Аноним 03/12/17 Вск 03:28:14  166198668
>>166198651
потому что 2ч всегда поможет
Аноним 03/12/17 Вск 03:29:01  166198690
>>166198606
Воще не ебу о чем вы спорите, ото самое число + 1 проверялось 10 дней на другом супер пкили около того, а потом оказалось, что оно не простое
Аноним 03/12/17 Вск 03:29:39  166198706
>>166198606
Че?
Рам нужен последовательный список всех простых, а не разрывный. То же число представляет для нашей задачи мало интереса, поскольку списка всех простых до него у нас нет.
Аноним 03/12/17 Вск 03:29:41  166198710
>>166198653
Это все вероятностная херня. А вот если ты вобьешь на вход огромное простое число - эта хуйня заебется его проверять и раскладывать
Аноним 03/12/17 Вск 03:30:00  166198716
>>166198653
Ты знаешь что означает разложить на множители?
Аноним 03/12/17 Вск 03:30:28  166198731
>>166198643
Ну да, я это знаю. Но нам здесь нужны любые.
Аноним # OP  03/12/17 Вск 03:30:38  166198734
>>166198651
Потому что препод говорит делать самим, а однокурсники не могу в задачи длинной арифметики без деления
Аноним 03/12/17 Вск 03:31:50  166198770
>>166198716
Думаю, что да.
3 курс мехмата
Аноним 03/12/17 Вск 03:32:39  166198797
Не слушай этих аутистов, они тут блядь O(...) считают, это не люди

Оп, тебе тут надавали ахуительных советов, ты их не особо слушай. Генерация простых чисел - вполне себе отдельная задача, которую ты не хочешь реализовывать. Спизди список простых чисел, забей в массив.

Если у тебя ахуеть большое число - тебе нужна арифметика длинных чисел. Суть в том, что ты пишешь свою структуру/класс, где хранишь числа поразрядно, и методы для расчета (в твоем случае - деление, обычное и по модулю). Сама структура - просто обертка массива, алгоритм деления простой и гуглится.
Когда у тебя есть оба деления для твоих чисел - решение тривиально, просто проверяй делимость по остатку.
Аноним 03/12/17 Вск 03:33:27  166198815
>>166198770
>В половине случаев число будет делится на два, в 1/3-1/6.
Тогда что это меняет? Или опу будут специально подсовывать числа, которые обсчитываться будут пол пары?
Аноним 03/12/17 Вск 03:34:25  166198846
>>166198797
>Если у тебя ахуеть большое число - тебе нужна арифметика длинных чисел
шел 2017 год, а они реализовывали длинную арифметику.
Аноним 03/12/17 Вск 03:34:38  166198853
>>166198797
>Спизди список простых чисел, забей в массив.
Еще один оттаял

>тебе нужна арифметика длинных чисел.
18246387912178 раз уже опу про это сказали
Аноним 03/12/17 Вск 03:34:41  166198856
>>166198797
2 чаю этому антону

блеать где взять бухло в половине 4 ночи, меня кажется стало отпускать и больше не прикалывает ваша тупизна
Аноним 03/12/17 Вск 03:34:42  166198857
>>166198815
Шизик, я отвечал не опу.
Аноним 03/12/17 Вск 03:34:46  166198860
>>166198815
Если это не важно - пусть ебашит наивную реализацию в десяток строчек и не ебет мозги. 64х бит ему хватит с головой, а числа длиннее все равно никогда не разложатся
Аноним 03/12/17 Вск 03:35:32  166198884
>>166198846
А в чем проблема? Мы в универе свою систему компьютерной алгебры на ней писали, в рамках дискретки. Годное задание для обучения кодингу же, не?
Аноним 03/12/17 Вск 03:35:58  166198896
>>166198857
Да, ты отвечал мне
Аноним 03/12/17 Вск 03:36:38  166198918
>>166198884
>Годное задание для обучения кодингу же, не?
Вычислительная сложность этой хуйни не позволит ее использовать для больших чисел. Так тебе понятно?
Аноним 03/12/17 Вск 03:37:35  166198945
Оп, есть решение для тебя.
Если число влезает в дабл, то делай все как надо, а если не влезает, то говори, что число раскладывается на два и выдавай их рандомно, например четные и нечетные исходного. Только следи, чтобы в конце двойки не было, тогда выдвай 2 и полурандом.
Аноним 03/12/17 Вск 03:38:16  166198957
>>166198945
В фольксвагене работаешь?
Аноним 03/12/17 Вск 03:38:23  166198960
если бы мне это было надо, за время существования поста уже успел бы написать свой ленивый вариант с делением на всё подряд, вариант с эратосфеном, посмотреть устраивает ли меня время выполнения, и пару раз вдрочнуть

хули вы тут никак не родите
Аноним 03/12/17 Вск 03:39:00  166198973
>>166198896
Я отвечал на ту часть поста, где ты предлагал считать среднее время.
Аноним 03/12/17 Вск 03:39:42  166198996
>>166198960
Потому что пока ты будешь писать эту хуйню, остальным и там понятно что время не канает.

В противном случае давай так - ты пишешь свою хуйню на чем угодно, а я даю тебе пару чисел и жду вердикт.
Аноним 03/12/17 Вск 03:40:09  166199008
>>166195230 (OP)
Окей, раз уж точно надо держать исходное число в строке - то берёшь старший разряд, пытаешься делить его нацело на проверяемое простое число. Затем остаток прицепляешь к следующему разряду и пытаешься делить нацело на проверяемое простое число. И так далее пока не доберёшься до младшего разряда и не выяснишь, есть остаток в итоге или нет. Короче - реализуешь программное деление в столбик.

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

Теперь про то, как искать постоянно увеличивающиеся простые числа. Формула Эйлера тебе не подходит, так как даёт простое число не больше десяти разрядов. Поэтому очевидно, что тебе нужно параллельно генерировать таблицу простых чисел, проверяя их точно таким же способом на неделимость ни на что.

Решение кошмар какое костыльное, и при реальных расчётах на 11 разрядов и более будет занимать неопределённое количество времени. Надеюсь, что преподу больше интересен алгоритм решения, чем фактические результаты. В противном случае - удачи ему, пусть ждёт разложения огромного числа хоть до осени.
Аноним 03/12/17 Вск 03:40:30  166199022
>>166198996
давай. час моей работы стоит 15$
Аноним 03/12/17 Вск 03:42:29  166199070
>>166198973
Хорошо, ты написал
>Результаты будут не сильно отличаться.
Какие результаты? Результаты чего?
Я предлагал считать среднее время, чтоб умники сверху осознали, что перебирать любые делители- это не долго, ты написал тоже самое, я спросил, что не так, ты спросил, я спросил, пиздец, про одно и тоже пиздели, а ты меня тут запутываешь теперь
Аноним 03/12/17 Вск 03:42:32  166199071
>>166199022
хотя в принципе, с учетом непостоянства заказов такого дела как фриланс, коим определенно будет являться такая работа, думаю, разумная стоимость будет в 2 раза выше.
Аноним 03/12/17 Вск 03:43:45  166199106
>>166199071
Проще послать тебя на хуй и нанять индуса который сделает лучше и дешевле.
Аноним 03/12/17 Вск 03:43:49  166199108
>>166199008
>подели в столбик умножением в столбик
Проиграл
Аноним 03/12/17 Вск 03:44:06  166199117
>>166198960
кукареки в треде, по коням
Аноним 03/12/17 Вск 03:44:26  166199129
>>166198945
А препод такой берет и с лицом ехидного колобка перемножает результат в каком-нибудь онлайн-калькуляторе
Аноним 03/12/17 Вск 03:45:08  166199147
>>166199117
ну, я правда вздрочнул за время существования треда
Аноним 03/12/17 Вск 03:45:27  166199157
>>166199070
Ну ничегл, твои изаинения приняты. Хотя средние все равно будут мало отличаться.
Аноним 03/12/17 Вск 03:47:41  166199218
>>166199129
преподу это и так нахуй не надо, он за годы преподавания и возни с вами долбаебами уже наизусть помнит свою пару тестовых чисел и их делители
Аноним # OP  03/12/17 Вск 03:47:47  166199223
TwYOSA7ABQ.jpg (146Кб, 1227x362)
Аноним # OP  03/12/17 Вск 03:48:25  166199238
>>166199223
Защиту от себя я написал
Аноним 03/12/17 Вск 03:49:47  166199271
>>166199238
кароч есть идея.
при запуске проги выдавать ошибку АЛЯРМА ЗА ПЕКОЙ ДУРАК, РАБОТА В ТАКИХ УСЛОВИЯХ, В СООТВЕТСТВИИ С ЗАДАНИЕМ, НЕВОЗМОЖНА
Аноним 03/12/17 Вск 03:51:33  166199305
>>166199271
и препод сидевший за пекой прописывает тебе вертухан
Аноним 03/12/17 Вск 03:52:11  166199317
>>166199305
ну оно же того стоит
Аноним 03/12/17 Вск 03:52:38  166199336
>>166199223
>доказать правильность работы программы
>для этого использовать калькуляторы
ухаха
Аноним 03/12/17 Вск 03:53:17  166199349
>>166199218
Сам долбоеб, я вообще не оп. Наш препод в принципе не дает таких ебанутые задания.
Аноним 03/12/17 Вск 03:53:21  166199356
>>166199223
пишешь свой сайт, с калькулятором, который на любое число говорит что ты прав...профит
Аноним 03/12/17 Вск 03:54:57  166199404
>>166199349
>Наш препод
ну значит у вас другой препод, который возится с вами долбаебами. нашел до чего доебаться же.
Аноним 03/12/17 Вск 03:57:35  166199471
>>166199356
222*3 = ты прав
Аноним 03/12/17 Вск 03:58:14  166199487
>>166199471
2x2x2x3
ёбаны 2ч
Аноним 03/12/17 Вск 03:58:14  166199488
>>166199471
все тянки шлюхи?
Аноним 03/12/17 Вск 03:59:17  166199513
>>166199471
ты бы с сайтом не спорил, аккуратней будь
Аноним 03/12/17 Вск 04:01:00  166199559
>>166199513
я бы и с собакой поспорил
Аноним 03/12/17 Вск 04:03:11  166199600
>>166199559
вы бы там в 2 с преподом с собакой спорили
Аноним 03/12/17 Вск 04:05:16  166199648
>>166195230 (OP)
>11 знаков
В long long влезает, ни пизди мне тут.
Аноним 03/12/17 Вск 04:09:21  166199733
>>166196934
введи в строку, а потом помести в uint :3
Аноним 03/12/17 Вск 04:10:59  166199778
image.png (34Кб, 1696x154)
>>166199648
>long long
дело говорит
Аноним 03/12/17 Вск 04:13:20  166199844
>>166199223
РОССИЙСКОЕ ОБРАЗОВАНИЕ
я бы свою программу так и проверял
Аноним 03/12/17 Вск 04:20:29  166200019
Кода на 10 строк, блядь. Но до 18 знаков. Если писать на джаве/шарпе, то там встроен BigInteger. Если самому писать длинную арифметику, то заебно. Делаешь класс, хранишь массив цифр, перегружаешь арифметические операции. Потом просто в алгоритм ставишь вместо long long свой класс. Умножение можно через сложение, если совсем срать на эффективность. Деление через вычитание(сразу модуль будет получаться). Можно схитрить, и сделать не полностью длинную арифметику, а только для разлагаемого числа - код намного проще, а диапазон до 36 знаков увеличится.

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

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