![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 26.10.2010
Сообщений: 29
|
![]()
смысл задачи - каждое число можно представить как сумму чисел из ряда Фибоначчи.
1>2>3>5>8>13>21 Скажем, число 22-это 21+1, 13+8. Не представляю, как можно сделать. Конечно, можно сделать для небольших чисел. Так-то нужно, чтобы проверялись числа в последовательности, и их сумма сравнивалась с вводимым числом N, как мне кажется. Код для вывода последовательности- Код:
Последний раз редактировалось Stilet; 04.04.2011 в 16:25. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 239
|
![]()
Поясни вот какой момент, тебе надо найти комбинацию с наименьшем количеством слогаемых из ряда фибоначи (т.е. 22= 21+1) или тебе надо найти все возможные комбинации для числа (22 = 21+1, 22=13+8+1, 22=13+5+3+1 и т.д)?
Но в любом случае тебе надо будет делать массив с последовательностью где первый и второй элементы это 1 и 2, а дальше A[i]=A[i-1]+A[i-2]
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
Последний раз редактировалось KobolD; 04.04.2011 в 14:40. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 26.10.2010
Сообщений: 29
|
![]()
скорее второй вариант, возможные комбинации
так-то, как я почитал, можно попробовать жадный метод, но не знаю его вообще. можно продемонстрировать часть кода? |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 239
|
![]()
я в паскале не очень, но смысл программы такой, если те сильно поможет то могу на C# навоять, но алгоритм такой:
1. Перебираешь числа фибоначи и сравниваешь с заданым числом, если число фибоначи меньше заданного то увеличиваеш счетчик n, если больше то переходишь к пункту 2. 2. Создаешь массив размерностью n и записываешь в него числа фибоначи. А дальше тебе надо перебрать все комбинации этих чисел, причем так чтобы не повторялись. Я лично это делал так: Создавал массив размерностью n тип bool и использовал его как двоичный счетчик. Т.е. если элемент счетчика равер true то включаем элемент из массива фибоначи в сумму. Ну и в конце проверяем равна ли сумма нужному числу. Потом увеличиваем счетчик на единицу. Вот пример счетчика http://www.programmersforum.ru/showthread.php?t=142280
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 26.10.2010
Сообщений: 29
|
![]()
как же всё сложно..
посижу, подумаю пока что был бы очень благодарен, если хотя бы на С попытались объяснить. или показать примерный код на дельфи, пусть даже нерабочий, главное-уяснить смысл. вот уже есть на экране последовательность Фибоначчи,скажем, до 50. вводим число Х, которое не больше 50, а дальше уже действительно не знаю, как делать у меня вопрос. а не фибоначчиева система исчисления тут используется число 31. последовательность до него- 1>2>3>5>8>13>21. берется число 21, оно уже автоматически попадает, так как меньше 31 остаток 10. 10 сравниваем с 13, число 13 отпадает. 10 сравниваем с 8, берем, остаток 2. и сравнивая с 2, получим остаток 0. в итоге, если использовать 0 и 1: 1*21+0*13+1*8+0*5+0*3+1*2+0*1. т.е. 31=21+8+2 Последний раз редактировалось Stilet; 05.04.2011 в 09:59. |
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 239
|
![]() Цитата:
Код:
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
Последний раз редактировалось Stilet; 05.04.2011 в 10:01. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Фибоначчи | sivaeper | Помощь студентам | 5 | 29.12.2010 17:17 |
n - й елмент последовательности фибоначчи | Bodya19 | Помощь студентам | 4 | 29.10.2010 22:27 |
Определить k-ую цифру последовательности Фибоначчи и последовательности натуральных чисел. | Med | Помощь студентам | 1 | 20.03.2009 11:40 |
Фибоначчи | Walter | Помощь студентам | 17 | 13.12.2008 22:34 |
Последовательность Фибоначчи | Natasha AA | Общие вопросы Delphi | 2 | 23.09.2008 23:18 |