Доброе время суток. У меня к вам большая просьба, никак не могу решить эту задачу. Мы с другом поспорили, что я смогу решить эту задачу к среде. Помогите, пожалуйста, на вас последняя надежда. Вот эта задача: Найти натуральное число из интервала от 1 до n с максимальной суммой делителей. Если будут вопросы по задаче, пишите. marshal90@mail.ru
Приветствую Вас, Дмитрий! А в чем проблема-то? Единственное, что может вызвать затруднение - это если N может быть больше, чем максимальное целое число, представляемое в машине. Тогда нужно писать собственную обработку операции деления и представления чисел. А так перебираешь все числа от одного до N, находишь делители числа и считаешь сумму. Если сумма больше предыдущей - запоминаешь текущее число. В общем, см. Приложение
Приложение: Ответ отправлен: 03.10.2003, 11:23 Отправитель: Ayl Отвечает Boriss
Здравствуйте, Дмитрий! К какой среде? Надеюсь, не к "вчерашней". Можно решить задачу "в лоб", хотя кажется мне, что что-то можно придумать, но некогда:
Приложение: Ответ отправлен: 03.10.2003, 09:43 Отправитель: Boriss Отвечает Cybernetic Creature
Добрый день, Дмитрий! function Prostoye(Chislo:Integer):boolean; var i:integer; begin Prostoye:=True; for i:=2 to round(sqrt(chislo)) do if Chislo mod i=0 then begin Prostoye:=False; Exit end; end; function SkolkoDeliteley(Chislo:Integer):Integer; var I:integer;del:Integer;sum:Integer; begin del:=2;sum:=0; while Chislo>0 do if chislo mod del=0 then begin chislo:= chislo div del; inc(sum); end else inc(del); SkolkoDeliteley:=sum; end;
Ответ отправлен: 02.10.2003, 20:35 Отправитель: Cybernetic Creature
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.