|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.04.2013, 14:10 | #1 |
Пользователь
Регистрация: 23.04.2012
Сообщений: 82
|
Задача "Трансфигурация чисел"
Помогите решить задачу.
|
09.04.2013, 15:01 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Обход дерева вариантов в ширину не работает, что ли?
|
09.04.2013, 15:13 | #3 |
Пользователь
Регистрация: 23.04.2012
Сообщений: 82
|
Можете реализовать эту задачу на Паскале?
|
09.04.2013, 15:15 | #4 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
|
|
09.04.2013, 15:28 | #5 |
Пользователь
Регистрация: 23.04.2012
Сообщений: 82
|
Я не пробовал решать эту задачу через графы. Может, что-то посоветуете?
|
09.04.2013, 15:53 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Да тут хватит односвязного списка для поиска (правда, пока не придумал, как завершить поиск, если нельзя получить такое число).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
09.04.2013, 15:58 | #7 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Граф - математическая абстракция. Она не обязательно воплощается в коде напрямую. Например (хотя это неоптимальное решение и может не пройти по времени), можно создать два массива из 1000 целых чисел: первый изначально заполненный значениями -1, кроме A-го элемента, который содержит значение 0; второй изначально заполнен значениями 0. Дальше на каждом шаге мы ищем минимальное положительное значение в первом массиве, такое, что соответствующий элемент во втором массиве равен 0 ("элемент не рассмотрен"), применяем к индексу поочерёдно оба наших преобразования и, если элемент по получившемуся индексу во втором массиве равен 0, пишем туда (значение по исходному индексу + 1); после этого во второй массив по исходному индексу пишем 1 ("элемент рассмотрен").
Если на очередном шаге не нашлось элемента с 0 во втором массиве и положительным значением в первом - поиск закончен; если на очередном шаге мы присвоили какое-то значение элементу с индексом B - поиск опять же закончен. Для примера (максимум равен 40, A=4, B=5): Код:
|
09.04.2013, 18:59 | #8 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Первое, что я сделал, это задался вопросом: Что такое трансфигурация?
Судя по 5-му предложению, трансфигурацией называется единственное заклинание N -> 3N-1. Собственно, отсюда алгоритм: Если число меньше 1000, значит заклинание одно, если больше - ни одного. |
09.04.2013, 19:13 | #9 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
s-andriano, ох и любите Вы позаниматься казуистикой.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
09.04.2013, 20:32 | #10 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Если я не прав, укажите, в чем?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") | funnyy | Помощь студентам | 3 | 17.10.2012 17:40 |
Типизированные файлы - Дан файл целых чисел, найти "Сумму чисел, начинающихся с цифры 1" (Паскаль) | 777pro777 | Помощь студентам | 1 | 27.03.2012 08:42 |
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. | воваава | Помощь студентам | 3 | 01.12.2011 12:50 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |