1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Цепные дроби. Игры с калькулятором

Тема в разделе "WASM.A&O", создана пользователем persicum, 9 июн 2008.

  1. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Как известно из популярной литературы, для чисел e и pi существует много способов представления их в виде цепных дробей, из которых самые эстетические, видимо

    e-2 = 1/(1+1/(2+2/(3+3/(4+4/(5+5/(....
    pi-3 = 1/(6+9/(6+25/(6+49/(6+81/(6+121/(....

    Конечно, можно проверить истинность этих разложений, если начинать шагать откуда-нибудь из глубины,
    и потом сравнить полученный результат с числами e и pi.

    Но гораздо интереснее получить элементы цепных дробей исходя из заданных наперед с некоторой точностью самих иррациональных чисел.

    Для e-2 алгоритм следующий

    шаг1 x:=e-2
    шаг2 x:=1/x
    шаг3 x:=(x-[x])/[x]
    шаг4 goto шаг2

    [] - целая часть числа

    Выполняем эти шаги на калькуляторе и наслаждаемся рядом натуральных чисел 1,2,3,4,5..., который возникает как целая часть дробных чисел.

    А вот как проделать тоже самое с pi, это вопрос...
     
  2. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    persicum
    что-то не получается насладиться
    после первого прохода получилось 0,39221119117733281437655287847982
     
  3. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Берем калькулятор Виндовз:

    1 inv ln
    2,7182818284590452353602874713527

    - 2 =
    0,71828182845904523536028747135266

    1/x
    1,3922111911773328143765528784798

    - 1 = / 1 =
    0,39221119117733281437655287847982

    1/x
    2,5496467783038448822263926847977

    - 2 = / 2 = 1/x
    3,6387004871961597835669749841378

    - 3 = / 3 = 1/x
    4,6970372813863694196263188341357

    - 4 = / 4 = 1/x
    5,7385739713150156529723949971477

    - 5 = / 5 = 1/x
    6,7698026117784838774887936450045

    - 6 = / 6 = 1/x
    7,7942058239295013617999070811099

    и так далее...
     
  4. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Ух ты, наконец я понял, как такой фокус проделать для pi .
    Это вам не шифры разгадывать =)))
    А до сих пор я даже не был уверен, что такое возможно...
     
  5. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.943
    persicum
    И как?
     
  6. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.943
  7. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.535
    persicum
    А ты случаем не встречал примеры цепных дробей, содержащих множество простых чисел? Интересно стало.
     
  8. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Ну если я распишу, интерес к задачке, и без того небольшой, совсем пропадет.
    А задачка в том и заключается, чтобы используя операции целая часть [] и 1/x из pi получить правильный осмысленный набор цифр, в противовес тому, что в десятичной записи они расположены совсем хаотично.
     
  9. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    [--- Ранее тут сидел баян =))) ---]

    2,566543832171388844467529106332...

    Из этого значения точности калькулятора хватит на все простые где-то до 71

    - 2 = / 2 = 1/x
    3,5301769897213655394024213556387

    - 3 = / 3 = 1/x
    5,6584877468496882166490684824176

    - 5 = / 5 = 1/x
    7,5931557176588447243842537217014

    - 7 = / 7 = 1/x
    11,801285550493624044603370667563

    и т.д
     
  10. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.535
    persicum
    А нет ссылки на соответствующую формулу?
     
  11. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    А смысл? Практической пользы ведь никакой...
     
  12. SWR

    SWR New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    226
    Адрес:
    Russia
    2,566543832171388844467529106332
    Сам собрал?

    Или формула есть.

    Просто решая эту задачу в обратном порядке можно любые числа закодировать.

    25,96291207956182645502293848335098

    тут 25 - 5 раз закодил (функция Пусселя ;) )

    P.S. А с "е" из разложения видно (просто выделяется следущий член о они от 1!,2!,3! .... до бесконечности )
     
  13. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Нет формулы, это был бааальшой развесистый баян =)))
     
  14. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Sqrt(3)-1 = 2/(2+2/(2+2/(2+2/(2+2/(2+2/(2+....
    мне вот эта штука очень нравится!

    А твоя хрень имеет точное значение:
    (5*Sqrt(29) + 25)/2,

    так что мог бы и не предвычислять дробь... =)))