zambaldzr
|
|
1 | |
В интервале от a до b найти число с наибольшим количеством делителей26.09.2012, 22:46. Показов 10819. Ответов 35
Метки нет (Все метки)
|
26.09.2012, 22:46 | |
Ответы с готовыми решениями:
35
В заданном интервале найти число, с наибольшим количеством делителей Найти в диапазоне от M до N число с наибольшим количеством делителей. Функция: количество делителей заданного числа Найти в диапазоне от M до N число с наибольшим количеством делителей. Дано число P, нужно найти число от 1 до Р, с наибольшим количеством делителей |
83 / 3 / 1
Регистрация: 14.11.2011
Сообщений: 68
|
|
27.09.2012, 09:23 | 3 |
ввести а и б,сделать цикл от а до б,вложить цикл,тело которого нацело делит число а на все от 1 до а,каждый раз когда это происходит к какой-нибудь переменной прибавляется 1,после того как приращение прекращается цикл останавливается и выводятся все числа с наибольшим числом делителей
0
|
83 / 3 / 1
Регистрация: 14.11.2011
Сообщений: 68
|
|
27.09.2012, 09:58 | 5 |
наверное в этом и вся проблема
непонятно как реализовать пользовательскую функцию и каким образом установить этот самый предел для количества делителей,по которому будут выбираться числа
0
|
27.09.2012, 10:09 | 6 |
Всё очень просто. Каждый раз, когда ты встретишь новое число и посчитаешь его кол-во делителей, сравнивай его с максимумом, к-рый ты запомнил. Если у этого числа делителей больше - замени максимум. Запоминать нужно как число, так и кол-во его делителей.
0
|
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
|
||||||
27.09.2012, 10:44 | 7 | |||||
Сообщение было отмечено Памирыч как решение
Решение
1
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
||||||
27.09.2012, 10:53 | 8 | |||||
бесполезные итерации
на 1 делится всегда и делитель больше чем половина числа быть не может следовательно
и count изначально инициализировать 2 (число всегда делится на 1 и на самого себя)
0
|
27.09.2012, 11:07 | 9 |
ValeryS, тогда уж еще усовершенствуйте свой алгоритм, рассматривая делители в диапазоне от 2 до . При этом если число n делится на i из этого диапазона, то оно делится и на n/i. Поясню. если n=ab и , то либо , либо
и
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
|
27.09.2012, 11:14 | 10 |
корень брать много машинного времени а деление на 2 просто сдвиг (1 такт)
и не понятно выиграю я или нет на малых итерациях точно проиграю, например от 2 до 9 цикл 2 3 4 на больших может выиграю(надо считать)
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
||||||
27.09.2012, 11:23 | 12 | |||||
хорошо попробую
но учти пишу прямо в посте, не проверял, могут быть алгоритмические ошибки
0
|
27.09.2012, 11:41 | 13 | ||||||||||
Сообщение было отмечено как решение
Решение
Зачем лишние проверки, лучше уж так
3
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
|
27.09.2012, 12:42 | 16 |
пардон не заметил
просто на автомате подумал что вторая проверка в теле цикла но тогда d нужно объявить за пределами цикла нужно обговорить для начинающих Вот это круто вообще нет переходов но боюсь не все поймут да и явно привести надо буля к инту а то может не умножится хотя не проверял верю на слово
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
|||||||||||
27.09.2012, 12:53 | 18 | ||||||||||
это то я знаю , точнее приводятся false(0) и true (1)
я просто экспериментировал
вот и возник вопрос
1
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
||||||
27.09.2012, 13:23 | 20 | |||||
Thinker,
проверил работает причем сравнил три алгоритма (правда на глаз, точных замеров не делал)
fnc2 после 5 минут устал ждать и отрубил программу
1
|
27.09.2012, 13:23 | |
27.09.2012, 13:23 | |
Помогаю со студенческими работами здесь
20
Найти число с наибольшим количеством делителей из числового промежутка Найти в диапазоне от M до N число с наибольшим количеством делителей. PHP Дано n целых чисел. Найти среди них число с наибольшим количеством делителей Найти и вывести первое число в интервале a, b с количеством делителей равным c Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |