Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите решать задачу...

4.3K
01 ноября 2007 года
DeFaCe
45 / / 28.08.2005
Здравствуйте! Помогите, пожалйста решить задачу... мучаюсь уже четвёртый день, некоторые иде есть, но реализовать их не полчается...



Задача такова: Дано натуральное число N. Если возможно, заменить любую из его цифр (только одну) так, чтобы получилось максимальное совершенное число.



Буду благодарен не только за код, но и просто за словестоное описание алгоритма...
274
01 ноября 2007 года
Lone Wolf
1.3K / / 26.11.2006
а в чем непосредственно проблема? в поиске совершенных чисел? в выполнении замены цифры?
учитывая, то что совершенных чисел немного, то можно заполниить массив ими, так чтобы кол-во цифр в помледнем не прквевышало кол-во цифр в макс целочисленном числе. А пото сопоставлять кол-во цифр в введеом и числах в масиве, и проверять отличаютса ли они на одну цифру.
276
01 ноября 2007 года
Rebbit
1.1K / / 01.08.2005
:). Да если знаем ограничение на N то стратегически верно, но могут придратся. Я би всетаки пробовал менять по одной цифре (начиная с начала и менять от 9 до 0) и проверял на совершенство. Ето конечно зря потраченое процессорное время, но преподаватель не сможет ничего предявить.
Вариантов для проверки будет не больше 9 * (log10(N) + 1)

Проверять тоже задача не из простых. Если N большое и вариант для проверки окажется простым числом, дело затянется.

ЗЫ. Смотрел в гугле что ето за совершенные числа. Если их так мало и они в таком розбросе, не понимаю как из одного N можно получить 2
совершенных (ну чтоб максимальное из них взять)
274
01 ноября 2007 года
Lone Wolf
1.3K / / 26.11.2006
Цитата: Rebbit

ЗЫ. Смотрел в гугле что ето за совершенные числа. Если их так мало и они в таком розбросе, не понимаю как из одного N можно получить 2
совершенных (ну чтоб максимальное из них взять)



ага, как я понял, то тут вопрос другой, нужно ставить: можно ли из данного числа получить совершенное, путем замены одной цифры.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог