Перевести числа 41, 46 в фибоначчиеву систему счисления. Пожалуйста, распишите как...

0 голосов
25 просмотров

Перевести числа 41, 46 в фибоначчиеву систему счисления.
Пожалуйста, распишите как решали, просто ответ не принимается.


Информатика (59 баллов) | 25 просмотров
Дан 1 ответ
0 голосов

Число в фибоначчиевой системе счисления единственным образом представляется в виде последовательности 0 и 1, причем никакие 2 единицы не стоят рядом. Каждый разряд числа соответствует числу Фибоначчи.
0-й разряд соответствует числу 1
1-й разряд соответствует числу 2
2-й разряд соответствует числу 3
3-й разряд соответствует числу 5
и т.д.
То есть, если решать программно, генерим числа Фибоначчи до тех пор, пока не дойдем до чисел, которые надо перевести: 1,2,3,5,8,13,21,34.
Затем, начиная с самого большого, проходимся по разрядам:
Для числа 41:
7) 41≥34 => 7-й разряд равен 1. Вычитаем из 41 число Фибоначчи, соответствующее этому разряду и получаем 41-34=7
6) 7<21 => 6-й разряд равен 0
5) 7<13 => 5-й равен 0
4) 7<8 => 4-й равен 0
3) 7≥5 => 3-й равен 1, 7-5=2
2) 2<3 => 2-й равен 0,
1) 2≥2 => 1-й равен 1, 2-2=0
0) 0<1 => 0-й равен 0
Полученное число: 10001010
Для числа 46:
7) 46≥34 => 7-й равен 1, 46-34=12
6) 12<21 => 6
-й равен 0
5) 12<13 => 5-й равен 0
4) 12
≥8 => 4-й равен 1, 12-8=4
3) 4<5 => 
3-й равен 0
2) 4
≥3 => 2-й равен 1, 4-3=1
1) 1<2 => 1
-й равен 0
0) 1
≥1 => 0-й равен 1, 1-1=0
Результат: 10010101

(16.7k баллов)