Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2013, 11:41   #1
Руслан56
Пользователь
 
Регистрация: 07.10.2013
Сообщений: 30
По умолчанию Нахождение ближайшего совершенного числа

Добрый день. Помогите пожалуйста решить данную задачку:

Задано целое число N. Найти ближайшее к нему совершенное число. Программу нужно прописать через циклы
Руслан56 вне форума Ответить с цитированием
Старый 21.11.2013, 14:52   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Определить, совершенное ли, а ближайшее к нему сам.
http://programmersforum.ru/showthread.php?t=33864
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 21.11.2013, 14:59   #3
Руслан56
Пользователь
 
Регистрация: 07.10.2013
Сообщений: 30
По умолчанию

Там просто определяет является ли число совершенным или нет. Нужно найти ближайшее совершенное число. Сам не смогу решить ее, прошу помощи уважаемых программистов.
Руслан56 вне форума Ответить с цитированием
Старый 21.11.2013, 15:28   #4
Unique_Maks
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 89
По умолчанию

совершенных не так уж и много (до int64)
поэтому можно задать массив или множество этих чисел и потом после ввода натурального числа искать ближайшее к нему совершенное
Unique_Maks вне форума Ответить с цитированием
Старый 21.11.2013, 15:35   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

во множество имхо не влезет! так что только массив или перебор(в обе стороны)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 21.11.2013, 15:49   #6
Руслан56
Пользователь
 
Регистрация: 07.10.2013
Сообщений: 30
По умолчанию

Задачу нужно написать через циклы. Массивы не разрешают использовать
Руслан56 вне форума Ответить с цитированием
Старый 21.11.2013, 15:52   #7
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Эх еще бы язык, зарплату и контактные данные указал, вашпе молодец был бы
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 21.11.2013, 15:59   #8
Руслан56
Пользователь
 
Регистрация: 07.10.2013
Сообщений: 30
По умолчанию

Язык Паскаль ABC. Как объясняли: Нужно например ввести число 20 и программа по обе стороны от числа(-20+) ищет ближайшее совершенное число. Программу требуют написать через циклы и процедуры(или функции). Все очень сложно(

Можно написать без подпрограмм. И пожалуйста можете потом объяснить, что к чему

Последний раз редактировалось Руслан56; 21.11.2013 в 16:27.
Руслан56 вне форума Ответить с цитированием
Старый 21.11.2013, 16:39   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы тему, на которую Вам ссылку дали, читали?
цитату с вики насчёт совершенных чисел внимательно прочитали?

я ещё раз позволю себе процитировать:
Цитата:
Первое совершенное число — 6 (1 + 2 + 3 = 6), следующее — 28 (1 + 2 + 4 + 7 + 14 = 28). По мере того как натуральные числа возрастают, совершенные числа встречаются всё реже. Третье совершенное число — 496, четвёртое — 8128, пятое — 33 550 336, шестое — 8 589 869 056 (последовательность A000396 в OEIS).
в вашем Pascal ABC максимально допустимое (разрядностью) целое число это:
Код:
begin
  WriteLn(maxint)
end.
2147483647

т.е. только первые 5 совершенных чисел попадают в вашу сетку.
Поэтому, заводите массив на 5 элементов, заносите туда 5 совершенных чисел и потом в цикле находите, какое число ближе к введённому.

Что сложного?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.11.2013, 16:39   #10
Unique_Maks
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 89
По умолчанию

например, вводим число, далее находим ближайшие к нему по обе стороны совершенные числа (используй алгоритм приведенный по ссылке в посте №2), рассчитываем разницу между правым совершенным и введенным, введенным и левым совершенным и узнаем какое ближе.
Unique_Maks вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphy 7 Массив. Нахождение ближайшего числа. Intripio Помощь студентам 2 02.04.2012 13:36
нахождение числа, ближайшего к максимальному/среднему/минимальному Fantom.as Помощь студентам 5 14.11.2010 08:56
Определение совершенного числа из последовательности цифр JaEvg Помощь студентам 0 08.10.2010 07:45
вывод слагаемых совершенного числа fs444 Общие вопросы C/C++ 4 24.03.2010 23:04
Определение совершенного числа (Delphi) Lew27 Помощь студентам 1 26.04.2009 23:40