|
0 / 0 / 0
Регистрация: 02.07.2020
Сообщений: 3
|
||||||
Найти все делители для заданного числа10.07.2020, 11:55. Показов 35326. Ответов 11
Метки Pascal (Паскаль) (Все метки)
Найти все делители для заданного числа:
1967084231266765692860010223558507897047 1701460580534920254457589056359125409007 9162973668806152370560989633700137089767 7037758202000926055361230716134424540809 4674390999497229796026032588483841393489 3551073244410428771253965567859 это программа работает только с маленькими числами
0
|
||||||
| 10.07.2020, 11:55 | |
|
Ответы с готовыми решениями:
11
|
|
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
|
|
| 10.07.2020, 16:14 | |
|
Artyom2124, зачем тебе все делители для этого числа? что ты с ними будешь делать?
но, если реально нужны - то длинная арифметика тебе в помощь!
0
|
|
|
0 / 0 / 0
Регистрация: 02.07.2020
Сообщений: 3
|
|
| 10.07.2020, 17:01 [ТС] | |
|
Такая у меня задача – найти как можно больше положительных делителей заданного числа. 1967084231266765692860010223558507897047 1701460580534920254457589056359125409007 9162973668806152370560989633700137089767 7037758202000926055361230716134424540809 4674390999497229796026032588483841393489 3551073244410428771253965567859
0
|
|
|
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
|
|
| 10.07.2020, 17:06 | |
|
0
|
|
|
online
52 / 35 / 16
Регистрация: 11.02.2018
Сообщений: 221
|
||||||
| 20.07.2020, 13:59 | ||||||
|
Лучше конечно искать за О(sqrt(n)), но и так работает
0
|
||||||
|
Модератор
10352 / 5638 / 3395
Регистрация: 17.08.2012
Сообщений: 17,205
|
|
| 21.07.2020, 22:17 | |
|
Mike_Boone, в Pascal ABC Ваш код на Pascal ABC.NET работать не будет.
И ещё. Если публикуете программу на диалекте языка, который отличается от диалекта языка в названии раздела, то указывайте, на каком именно диалекте языка написана Ваша программа.
0
|
|
|
online
52 / 35 / 16
Регистрация: 11.02.2018
Сообщений: 221
|
|
| 21.07.2020, 22:20 | |
|
Cyborg Drone, извиняйте, ошибся разделом с .NET
0
|
|
|
Модератор
10352 / 5638 / 3395
Регистрация: 17.08.2012
Сообщений: 17,205
|
|
| 21.07.2020, 23:02 | |
|
Ничего страшного, вообще-то.
Если считаете, что Ваш ответ поможет ТС, то можете писать в Pascal ABC и на Pascal ABC.NET, поскольку у всех, как правило, установлен Pascal ABC.NET, потому что древний Pascal ABC сейчас даже найти не так уж и легко. С другой стороны, есть одна несуразность: в большинстве учебных заведений учат "классическому" паскалю (как правило, Turbo Pascal), а в качестве среды программирования рекомендуют Pascal ABC.NET, потому что он бесплатный и запускается в современных Windows без танцев с бубном. Порой даже и не подозревая, что Pascal ABC.NET и старичок Pascal ABC, от которого Pascal ABC.NET произошёл - это далеко не одно и то же. Короче, может случиться нелепое недопонимание. Поэтому делайте приписку типа "Программа для Pascal ABC.NET".
0
|
|
|
Почетный модератор
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
|
||
| 22.07.2020, 07:34 | ||
|
https://www.cyberforum.ru/atta... 1448354644
0
|
||
|
Модератор
10352 / 5638 / 3395
Регистрация: 17.08.2012
Сообщений: 17,205
|
|||||||||||||||
| 24.07.2020, 02:25 | |||||||||||||||
|
Хотел написать программу по заданию, но, как оказалось, в который раз я попытался решить практически неразрешимую задачу. Всё никак не мог достичь приемлемой скорости вычислений... Ещё бы. Общее количество делителей заданного числа оказалось равным 2963520000.
Artyom2124, может быть, нужно найти все простые делители? Это я сделал. К счастью, максимальный простой делитель Вашего числа сравнительно маленький, и помещается в тип integer. Общее количество делителей числа не помещается в тип integer, для подсчёта указанной величины я использовал тип real. Программа факторизации Вашего числа, находит все простые делители, их максимальные степени и общее количество делителей числа:
Ниже таблицы - общее количество всех делителей. Пояснения по количеству делителей: любой делитель числа может быть представлен в виде произведения степеней всех простых делителей числа, степень при конкретном простом делителе может быть от 0 до упомянутой выше максимальной степени. Таким образом, общее количество делителей равно количеству всех возможных комбинаций степеней при всех простых делителях, иными словами, произведению увеличенных на 1 максимальных степеней для каждого простого делителя. Напоследок, если строго по заданию... Казалось бы, имеет смысл дописать мою программу... Осталось совсем немного: перебрать все степени при простых делителях, и умножить исходную единицу нужное количество раз на каждый простой делитель, и так 2963520000 раз... Короче, сущий пустяк, думаю, за год можно будет найти все делители заданного числа. Добавлено через 2 часа 3 минуты Если желаете, можете 285130279430265910235630204110185410176810164170162230151610125470107990695905651012970 =1 Затем начинаем увеличивать степени, например, в порядке справа налево, и перебираем все возможные комбинации следующим образом: если степень в самом правом сомножителе достигла максимальной по таблице, то обнуляем эту степень, и увеличиваем следующую (вторую справа), и продолжаем в том же духе до тех пор, пока не переполнится и вторая справа степень, тогда увеличиваем третью справа, а вторую справа обнуляем, и так до тех пор, пока набор степеней не будет такой же, как в таблице: 285130279430265910235630204110185410176810164170162230151610125470107990695905651012971 =1297 285130279430265910235630204110185410176810164170162230151610125470107990695905651012972 =1682209 285130279430265910235630204110185410176810164170162230151610125470107990695905651012973 =2181825073 285130279430265910235630204110185410176810164170162230151610125470107990695905651012974 =2829827119681 285130279430265910235630204110185410176810164170162230151610125470107990695905651012975 =3670285774226257 285130279430265910235630204110185410176810164170162230151610125470107990695905651012976 =4760360649171455329 285130279430265910235630204110185410176810164170162230151610125470107990695905651112970 =5651 285130279430265910235630204110185410176810164170162230151610125470107990695905651112971 =7329347 ... 285130279430265910235630204110185410176810164170162230151610125470107990695905651112976 =26900798028467894064179 285130279430265910235630204110185410176810164170162230151610125470107990695905651212970 =31933801 ... 285130279430265910235630204110185410176810164170162230151610125470107990695905651212976 =152016409658872069356675529 285130279430265910235630204110185410176810164170162230151610125470107990695915651012970 =6959 ... 285130279430265910235630204110185410176810164170162230151610125470107990695915651212976 =1057882194816090730653105006311 ... 285133279431265917235636204116185414176814164174162231151614125471107992695955651212976 =196708423126676569286001022355850789704 7170146058053492025445758905635912540900 7916297366880615237056098963370013708976 7703775820200092605536123071613442454080 9467439099949722979602603258848384139348 93551073244410428771253965567859 Добавлено через 4 часа 36 минут Хотя... Если применить что-нибудь получше строк, то... Программа на Free Pascal Compiler для печати заданного количества делителей, начиная с делителя с заданным номером:
В программе нет проверки вводимых значений. можно объединить обе программы. Можно переделать для вывода делителей в файл. Можно переделать под Pascal ABC, но неохота из-за танцев с бубном ввиду отсутствия в Pascal ABC достаточно ёмкого целочисленного типа. Проверить программу очень просто: нужно ввести Start number: 2963520000 и Count: 1, и будет напечатан последний делитель заданного числа, а именно, само заданное число.
0
|
|||||||||||||||
|
online
52 / 35 / 16
Регистрация: 11.02.2018
Сообщений: 221
|
|
| 27.07.2020, 18:15 | |
|
Cyborg Drone, ну там делителей не мало ( ~ 2*sqrt(N)). Бесконечный цикл в самый раз.
0
|
|
|
Модератор
10352 / 5638 / 3395
Регистрация: 17.08.2012
Сообщений: 17,205
|
|
| 28.07.2020, 08:53 | |
|
Mike_Boone, ну да, при таком времени работы в самый раз. Насчёт делителей.
2805055601065166546129328260595075049295 8975208022765284852313338733313141696607 246630163899571147712385678084079858.
0
|
|
| 28.07.2020, 08:53 | |
|
Помогаю со студенческими работами здесь
12
Найти все делители числа Q, взаимно простые с числом R
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|