Re: Как увеличить точность на С\С++???
gnu mp, например.
Можно воспользоваться библиотекой
А если не секрет, зачем такая точность?
если не секрет, зачем такая точность?нет не секрет
у меня есть ряд из трансцендентных значений который сходится к рациональному число. Чтобы вычислить рациональное число надо найти его период, за 25 знаков это сделать не удается =(
Python спасет тебя.
Тогда имеет смысл рассмотреть вариант с языком Ada, хоть это и противоречит формулировке вопроса.
Ну и чушь, ботай представления чисел.
![](/images/graemlins/smile.gif)
если отходить от С/С++, то почему тогда уж не какой-нибудь Maple?
2: "язык ада"
![](/smiles/FIREdevil.gif)
![](/images/graemlins/lol.gif)
Спасибо, можешь выложить примерчик?
В чем чушь?
документация, которую я когда-то читал.
upd: Там должно хватить глав GMP Basics и Floating-point Functions.
Примерчик прямо сейчас не достану, но есть отлично написанная upd: Там должно хватить глав GMP Basics и Floating-point Functions.
Если уж задавал вопрос по C/C++, то надо было спрашивать про библиотеки для этой цели, а не про языковые средства.
Не знаешь как возводить mpf_t в степень mpf_t?
Чтобы вычислить рациональное число надо найти его период, за 25 знаков это сделать не удается =(Могу тебя огорчить - и за 250 знаков не удастся.
Даже больше того, если ты знаешь, что твоё число равно n/10^k (а это гораздо уже просто рациональных) - всё равно никакое количество известных знаков не позволит тебе узнать это число.
Могу тебя огорчить - и за 250 знаков не удастся.2:
Даже больше того, если ты знаешь, что твоё число равно n/10^k (а это гораздо уже просто рациональных) - всё равно никакое количество известных знаков не позволит тебе узнать это число.
да период может быть и очень большим. Но всетаки надежда есть
Короче, это нужно делать нормальными математическими методами, выдающими по цифре за действие (например, алгоритмом деления в столбик). А не "возьмём от балды число с 250 знаками после запятой, разделим и, посмотрим, нет ли там периода".
смотри: 0,12312312341231231234....
Рациональность числа надо проверять не поиском периода, а разложением в цепную дробь (то бишь проводим процесс $x_{n+1}=\{x_n^{-1}\}$ до тех пор, пока не получим число очень близкое к нулю, а потом идем назад восстанавливая дробь)! Если знаменатель меньше 10^7, то 17 знаков хватит с головой.
Рациональность числа надо проверять не поиском периода, а разложением в цепную дробь (то бишь проводим процесс $x_{n+1}=\{x_n^{-1}\}$ до тех пор, пока не получим число очень близкое к нулю, а потом идем назад восстанавливая дробь)! Если знаменатель меньше 10^7, то 17 знаков хватит с головой.Можно по подробнее. Я сначала считаю сумму, а потом хочу установить сходится ли эта сумма к рациональному. Что предлагаешь ты, устанавливать является ли полученное число рациональным? Так оно заведомо будет рациональным!
все числа в компьютере рациональные
Могу тебя огорчить - и за 250 знаков не удастся.более того, даже если все знаки (точнее, каждый знак) известны, то за конечное время все равно не удастся
я думаю, здесь у автора что-то вроде догадок - мб, полученное значение как-то поможет ему в мат. доказательстве; в противном случае его затея действительно бессмысленна
PS Так же о непрерывных дробях можно почитать здесь: http://ru.wikipedia.org/wiki/Непрерывная_дробь
|\alfa - P/Q| < 1/(Q^2)
Цепные (непрерывные) дроби удобны для приближения иррациональных чисел и рациональных чисел с очень большими знаменателями.
Кстати, в старинных часах передаточное число соприкасающихся шестерён делали в виде цепной дроби, приближающей числа вроде "сколько в году недель" и тому подобные.
я думаю, здесь у автора что-то вроде догадок - мб, полученное значение как-то поможет ему в мат. доказательстве; в противном случае его затея действительно бессмысленИменно так, мне нужно проверить гипотизу. Правда ли то, что получилось (что число рационально) и соответственно проверять рассуждения или искать мат. способы получения его.
Хочешь, обрадую? То число, которое у тебя получилось, уже рациональное, и имеет именно такой (n/10^k) вид
![](/images/graemlins/wink.gif)
Не обсуждая вопросов осмысленности, не вижу запретов, для применения алгоримтов ищущих период.
Период у нее длиной 1, вида "0".Ну и чем эта дробь тебя не устраивает?
невычислимые задачи - единственный запрет, но он равносилен осмысленности
невычислимые задачи - единственный запрет, но он равносилен осмысленностиНеверно.
Вычислить самое большое простое число - задача невычислимая даже теоретически. Тем не менее многие занимаются, и в этом даже есть смысл, тк большие простые числа используются в криптографии.
То, что решение своей задачи автор считает осмысленным, значит это так и есть (для него)
Никто и не ищет самое большое простое число.
![](/images/graemlins/smile.gif)
например http://www.google.ru/search?hl=ru&q=%D0%BD%D0%B0%D0%B9%D..., http://www.mersenne.org/
Да и вообще примеров много теоретически в общем случае точно не вычислимых задач, которыми люди занимаются или в надежде получить какието частные решения, или в надежде нейти приближенные решения или еще в каких своих целях, которые они считают осмысленными.
Различай не вычислимые и не разумные. Никто разумный не станет искать "самое большое простое число", так как его не существует.
что не мешает искать простое число большее самого большого, известного на данный момент
Ага
![](/images/graemlins/smile.gif)
Ты, конечно, можешь мне не поверить, но я недавно в компьютерре читал, что именно большие простые числа дают шанс криптографам шифровать что-либо весьма надежно.
![](/images/graemlins/smile.gif)
![](/images/graemlins/lol.gif)
Различай не вычислимые и не разумные. Никто разумный не станет искать "самое большое простое число", так как его не существует.Было сделано утверждение - раз задача принципиально невычислимая это равносильно бессмысленности.
Я с этим не согласен.
Против утверждения о бессмысленности неразумных задач я ничего не говорил. И не надо хитрить и перескакивать приписывая мне это.
Так зачем ты писал про самое большое число? Выражай свои мысли яснее.
про самое большое числоНикогда я такого не говорил, выражайтесь точнее.
Я выражался относительно посика простых чисел совершенно точно и конкретно. Если проблемы с чтением это не ко мне.
Не только прочитал, но и использовал описываемый RNG в своём депломбе. Нафига флудишь, одмин?
Вычислить самое большое простое число - задача невычислимая даже теоретически. Тем не менее многие занимаются и в этом даже есть смысл, тк большие простые числа используются в криптографии.А это что?
![](/images/graemlins/smile.gif)
Если б прочитал, то увидел бы, что там написано о непригодности данного генератора для криптографии. (А если хеш добавить, то всё упрётся в стойкость хеша, и афигенно большие простые числа не помогут).
Криптография - не единственная область применения RNG. Более того, она даже никаким боком не основная область применения RNG.
---
...Я работаю антинаучным аферистом...
Оставить комментарий
karavan
Мой си при вычисления с double и long double дает после запятой 17 знаков, как увеличить точноть до 50-100 знаков?