2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 бинарная запись не содержит трех одинаковых бит подряд
Сообщение23.11.2010, 18:15 


01/10/10

2116
Израиль (племянница БизиБивера)
Сколько существует натуральных чисел, не больших 1023, бинарная запись которых не содержит трех одинаковых бит подряд?


Я рассуждала так:

Пусть $a_{n}$ - количество n - битных чисел, удовлетворяющих условию задачи.
Предположим, мы уже имеем n - битное число, удовлетворяющее условию задачи. Добавим ещё один бит.
Если добавляемый бит не равен последнему биту, его всегда можно добавить - имеем количество вариантов, равное $a_{n}$. Если же равен, значит не должны быть равны биты n и $n-1$. Стало быть, $a_{n+1}=a_{n}+a_{n-1}$. То бишь мы получаем последовательность Фибоначчи, и тогда ответ на задачу будет 231. Но правильный ответ, почему-то, оказался 228.

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение23.11.2010, 18:32 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Ну так начальные значения же не такие, как у Фибоначчи

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение23.11.2010, 18:38 


01/10/10

2116
Израиль (племянница БизиБивера)
Xaositect в сообщении #379576 писал(а):
Ну так начальные значения же не такие, как у Фибоначчи

И?

У Вас вышло 228?

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение23.11.2010, 18:43 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
За рассуждениями не следил. Проверил перебором на компе - вышло 231.

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение23.11.2010, 18:47 


01/10/10

2116
Израиль (племянница БизиБивера)
ИСН в сообщении #379579 писал(а):
За рассуждениями не следил. Проверил перебором на компе - вышло 231.

А кого тут можно попросить за рассуждениями последить?

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение23.11.2010, 18:53 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
А смысл? Скорее всего, Вы правы, а книга врёт.
Ну вот начало выдачи:
Код:
1   1
2   10
3   11
4   100
5   101
6   110
7   1001
8   1010
9   1011
10   1100
11   1101
12   10010
13   10011
14   10100
15   10101
16   10110
17   11001
18   11010
19   11011
20   100100
...

Действительно, числа Фибоначчи.

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение23.11.2010, 18:58 


01/10/10

2116
Израиль (племянница БизиБивера)
ИСН в сообщении #379585 писал(а):
А смысл? Скорее всего, Вы правы, а книга врёт.

О боже! Вы на ассемблере писали???

И потом, на олимпиаде мне бы не зачли простой перебор (даже, умей я перебирать со скоростью компа).

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение23.11.2010, 21:00 
Заслуженный участник
Аватара пользователя


11/12/05
10078
Xenia1996 писал(а):
О боже! Вы на ассемблере писали???


Почему Вы думаете что на ассемблере?

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение23.11.2010, 21:03 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Xenia1996, это не программа, :lol: а то, что она выдаёт.

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение23.11.2010, 22:22 
Заслуженный участник


02/08/10
629
Xenia1996 в сообщении #379588 писал(а):
ИСН в сообщении #379585 писал(а):
А смысл? Скорее всего, Вы правы, а книга врёт.

О боже! Вы на ассемблере писали???

И потом, на олимпиаде мне бы не зачли простой перебор (даже, умей я перебирать со скоростью компа).

Если перебор выполнен полностью правильно, обязаны зачесть, так как задача решена. Но если будет хоть одна ошибка, могут ноль балов поставить)

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение24.11.2010, 10:27 


01/10/10

2116
Израиль (племянница БизиБивера)
Dan B-Yallay в сообщении #379644 писал(а):
Xenia1996 писал(а):
О боже! Вы на ассемблере писали???


Почему Вы думаете что на ассемблере?

Уже не думаю :mrgreen:
Хотя программы, работающие с битами, удобнее всего на ассемблере писать...

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение24.11.2010, 11:05 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Я об этом думал в терминах работы со строками, поэтому - Перл.
Код:
foreach(1..1023){
   $_=sprintf "%b",$_;
   print ++$n, "   $_\n" if !/(111|000)/;
}

В битах, вероятно, было бы ещё круче, но это уж - - -

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение24.11.2010, 11:31 


16/06/10
199
Xenia1996 в сообщении #379570 писал(а):
... тогда ответ на задачу будет 231. Но правильный ответ, почему-то, оказался 228.
Возможно в "правильном" ответе не учитываются числа $1, 2, 3$, т.к. их очевидно нельзя представить тремя битами.

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение24.11.2010, 11:52 


26/12/08
1813
Лейден
Возможно - но это было бы странно, потому как то в условии об этом ни слова - и очевидным это может быть только для автора задачи. С другой стороны если решение приведено полное, то думаю на проверке могут заметить этот факт и не снять баллов даже в случае перебора, если будут приведены все 231 число.
Как тут оффтоп сделать, а то это не относится напрямую к сабжу?

 Профиль  
                  
 
 Re: Три бита подряд (не удается найти ошибку в рассуждении)
Сообщение24.11.2010, 12:08 
Заслуженный участник
Аватара пользователя


21/12/05
5932
Новосибирск
Вообще-то правильный ответ 178.
Надо считать все начинающиеся с нуля (начинающихся с 1 столько же) для них получится последовательность Фибоначчи, а требуемое число вдвое больше.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group