|
0 / 0 / 0
Регистрация: 26.04.2022
Сообщений: 67
|
|
Составить программу поиска всех чисел, имеющих k разных простых делителей26.04.2022, 17:06. Показов 1968. Ответов 32
Описать функцию f(x) – количество разных обычных делителей числа х. Составить программу поиска всех
чисел, имеющих k разных простых делителей.
0
|
|
| 26.04.2022, 17:06 | |
|
Ответы с готовыми решениями:
32
Составить программу для нахождения чисел из интервала [М, N], имеющих наибольшееколичество делителей Составить программу для нахождения чисел из интервала [М, N], имеющих наибольшее количество делителей |
|
0 / 0 / 0
Регистрация: 26.04.2022
Сообщений: 67
|
||||||
| 13.05.2022, 13:08 [ТС] | ||||||
|
Последний раз обращаюсь ко всем. Вроде переписала код, но все равно пишет ошибку. В строке 34 пишет "Ошибка времени выполнения: Индекс находился вне границ массива". Как её устранить?
Ошибка
0
|
||||||
|
Модератор
|
|
| 13.05.2022, 13:46 | |
|
У вас массив от 1 до N, а в строке 34 цикл от 0 до N, соответственно, при обращении к несуществующему a[0] индекс находился вне границ массива.
Догадались что делать? Правильно, перебирать только существующие элементы.
0
|
|
|
0 / 0 / 0
Регистрация: 26.04.2022
Сообщений: 67
|
||||||
| 17.05.2022, 23:08 [ТС] | ||||||
|
Учителю не понравились некоторые моменты, я переделала, но все равно что-то не так, посмотрите пожалуйста и подскажите. Не хочет работать программа...
0
|
||||||
|
Модератор
|
|
| 18.05.2022, 09:13 | |
|
Ввели C, а сравниваете с K.
Добавлено через 7 минут Подсчёт простых делителей очень не оптимальный. Можно сократить количество проверок вдвое, если проверять само число отдельно. Можно сократить до корня квадратного, если проверять парные делители. Но это будет все-равно медленнее, чем в сообщении #14 этой темы (разложение на простые множители).
0
|
|
|
0 / 0 / 0
Регистрация: 26.04.2022
Сообщений: 67
|
|
| 18.05.2022, 10:48 [ТС] | |
|
Я пробовала вводить и k, но все равно не работает. Должно быть и в начале k, и в конце k? Преподаватель сказал именно такой вариант расчёта нужен. Я уже пробовала сдавать такой, который вы писали. Помогите доделать пожалуйста
0
|
|
|
Модератор
10477 / 5772 / 3412
Регистрация: 17.08.2012
Сообщений: 17,532
|
||||||
| 18.05.2022, 21:25 | ||||||
|
bormant, искать до корня из числа - это вряд ли, посколькв этом случае простота делителей от корня из числа до половины числа проверена никак не будет. Так что, искать простые делители нужно до половины числа. Проверять само число на простоту незачем.
Если совсем просто и не оптимально, то примерно так:
Хотя, зря я это написал... И до меня уже всё написано, зачем повторяться... Ну да ладно, оставлю это здесь.
0
|
||||||
|
Модератор
|
||||||||||
| 18.05.2022, 22:05 | ||||||||||
|
Хорошо, давайте посмотрим. Отделим мух от котлет. Текущий ваш вариант подсчета делителей явно разделим на 2 части -- поиск делителя и проверку на простоту:
1) исходная проверка на простоту считает 1 простым числом, что неправильно, 2) в исходной проверке использование цикла от 1 (которая заведомо не является простым числом) при переборе делителей приводит к неверным результатам. Каждый из этих фрагментов может быть весьма существенно улучшен с точки зрения производительности. Добавлено через 11 минут Добавлено через 4 минуты
1
|
||||||||||
|
Модератор
10477 / 5772 / 3412
Регистрация: 17.08.2012
Сообщений: 17,532
|
|
| 18.05.2022, 22:42 | |
|
bormant, n div k не обязано быть простым в том случае, если k - простое. Например, n = 12, k = 2, n div k = 6; n = 10, k = 2, n div k = 5.
0
|
|
|
Модератор
|
||||||
| 19.05.2022, 00:08 | ||||||
|
Cyborg Drone,
Только это ни на что не повлияет, правда? Проверяем же на простоту и первый, и парный.
Только помним про особые случаи: отдельно полный квадрат и отдельно само число.
0
|
||||||
|
Модератор
10477 / 5772 / 3412
Регистрация: 17.08.2012
Сообщений: 17,532
|
|
| 19.05.2022, 01:08 | |
|
Тогда да, ни на что не повлияет.
По-моему, быстрее делить число на его простые делители до половины числа, нежели проверять пары делителей на простоту до корня из числа.
0
|
|
|
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
|
|||
| 19.05.2022, 10:06 | |||
|
возьмём, например, число 1000000 (1 миллион) если проверять до половины числа, то понадобится 500 тысяч проверок, если до корня - то всего 1000 проверок,, что примерно в 500 раз меньше. и с увеличением чисел эта разница будет только увеличиваться. к слову. формулировка задания в виде
0
|
|||
|
Модератор
|
|
| 19.05.2022, 11:19 | |
|
mr-Crocodile,
пример нерелевантный ![]() Посыл был в том, что делить на простые (по таблице), хоть и до половины, быстрее, чем проверять на простоту, пусть и до квадратного корня. Дорогая операция тут собственно проверка на простоту. Добавлено через 6 минут Но как только добавим таблицу простых, так и проверка на простоту становится проверкой по индексу или в худшем случае бинарным поиском по этой таблице. И снова всё не так однозначно, тут и разложение на простые множители проиграет обоим вариантам.
0
|
|
|
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
|
|
| 19.05.2022, 12:10 | |
|
bormant, да, понял, согласен.
0
|
|
| 19.05.2022, 12:10 | |
|
Составить программу для нахождения чисел из интервала [M, N], имеющих наибольшее количество делителей
Составить программу, которая вычисляет количество S всех делителей и сумму Y всех делителей натурального числа N
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|