|
Вопрос # 2 483/ вопрос решён / |
|
Здравствуйте, эксперты!
возник такой вопрос: нужно найти число, находящееся на отрезке [ a, b ], имеющее наибольшее количество делителей? Помогите ПОЖАЛУЙСТА!!!!
 |
Вопрос задал: I{ () T (статус: Посетитель)
Вопрос отправлен: 4 марта 2009, 18:09
Состояние вопроса: решён, ответов: 2.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, I{ () T!
Делители искать просто. Где тот так
function HowManyDiv(n:integer):integer;
var i,k:integer;
begin
k := 0;
for i := 2 to n div 2 do
if n mod i = 0 then k:= k+1;
result := k;
end;
а теперь поиск максимума
maxn =a;
maxk = HowManyDiv(maxn);
for i:=a+1 to b do
begin
k := HowManyDiv(i);
if k>maxk then begin
maxk := k;
maxn := i;
end;
end;
//вывод maxn - собственно числа и maxk - его кол-ва делителей
Думаю, что если надо будет сделать вывод самих делителей, то это будет не сложно:)
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 4 марта 2009, 19:30
Оценка за ответ: 5
Комментарий к оценке: ВЫРУЧИЛИ!!! ОГРОМНОЕ СПАСИБО!! действительно легко оказалось. а я вообще через цикл делал. и запутался вконец. ЕЩЕ РАЗ СПАСИБО!
|
Ответ #2. Отвечает эксперт: min@y™
Цитата:
нужно найти число, находящееся на отрезке [ a, b ], имеющее наибольшее количество делителей
Не всё так просто. На отрезке [ a, b ] чисел с максимальным кол-вом делителей может быть больше одного! Например, на отрезке [2, 100] их аж 5 штук: 60, 72, 84, 90, 96 (у всех кол-во делителей = 12). Я написал демо-программку, которая находит и выводит такие числа. Вот результат её работы, скопированный из консоли:
--- Values with max count of dividers (total: 5) ---
Dividers of "60" (total: 12):
1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60
Dividers of "72" (total: 12):
1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72
Dividers of "84" (total: 12):
1, 2, 3, 4, 6, 7, 12, 14, 21, 28, 42, 84
Dividers of "90" (total: 12):
1, 2, 3, 5, 6, 9, 10, 15, 18, 30, 45, 90
Dividers of "96" (total: 12):
1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 96
Саму программу прицепляю к ответу. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 4 марта 2009, 20:23
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 21; последнее сообщение — 7 марта 2009, 11:34; участников в обсуждении: 4.
Страницы: [« Предыдущая] [1] [2]
|
DNK (статус: Студент), 7 марта 2009, 11:34 [#21]:
Другое дело. Только ещё переменную Index надо прописать.
"Digital Networked Knight"
|
31 января 2011, 19:36: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)
Страницы: [« Предыдущая] [1] [2]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|