Как представить 0,1011111.... или 0,10(1) в виде дроби a/b? Где a и b — целые числа.
Я пробую этот метод
х = 0,10 (1) х = 10,(1) / 4
Теперь у = 10. (1)
2у = 101.(1)
откуда следует 2y - y = 91 у = 91
х = 91/4 Но a = 91 и b = 4 неверно.
Как мне это решить?
Вы должны заметить, что числа все еще в двоичном формате. Таким образом, в десятичном виде вы получаете, что целая часть y
равна 2
, а 2y
равна 5
, так что в разнице y=3
.
Обратите внимание, что в двоичном 0.1(1)=1
так же, как и в десятичном 0.9(9)=1
. Таким образом, альтернативным способом x
является в точности бинарным 0.11
, то есть 1/2+1/4=3/4
.
Вы можете сделать это следующим образом:
х = (0,1011111)2
х = 1/21 + 0/22 + 1/23 + 1/24 + ... )
х = 1/2 + 1/22*(1/21 + 1/22 + 1/23 + ...)
Если мы проигнорируем термин, выделенный жирным шрифтом в приведенном выше уравнении, термин в скобках станет Икс, поэтому мы можем сказать, что термин в скобках равен (х+1/22)
х = 1/2 + 1/2 2 * (х + 1/2 2)
х = 1/2 + х/4 + 1/16
Решите вышеприведенное уравнение
3x/4 = 9/16
х = 3/4
Вот обобщение этой проблемы на частую ситуацию с повторяющимися паттернами.
Предположим, что x=0,001100110011..., где шаблон 0011 повторяется бесконечно.
Пусть a будет шаблоном (0011 для x), а k будет его длиной (т.е. 4 для x).
х = а×2^-к+а×2^-2к+...
= a×2^-k×∑i=0∞ (2^-k)^i
= a×2^-k×limn→∞(1-(2^-k)^n)/(1-2^-k)
поскольку x - это сумма геометрического ряда с отношением 2 ^ k.
Когда n стремится к ∞, (2^-k)^n стремится к нулю, и мы имеем
х = а × 2 ^ -к / (1-2 ^ -к) = а / (2 ^ к-1)
Если x=0,11111..., a=1, k=1 и x=1/(2-1)=1, мы получаем результат, уже представленный (гораздо проще!) Лутцем, который отвечает на исходный вопрос.
Но мы можем решить более сложные задачи с любым повторяющимся шаблоном.
Например, если x=0,001100110011..., мы имеем a=0011=3 и k=4.
Отсюда х=3/(2^-4-1)=1/5=0,2
Обобщение ситуации, когда повторяющемуся паттерну предшествует неповторяющаяся последовательность, является немедленным.
Незначительная ошибка:
1/8
должно быть1/16
. Таким образом, когда вы решите, вы получитеx=3/4
, что согласуется с ответом @LutzL.