Вопрос для чего? 1/3 сколько значащих разрядов имеет?
Нет. 1/3 я взял для примера. Попалась задача с числами Фибоначчи. Самый быстрый способ — вычислить по формуле Боне. Но там используется корень из 5, и надо его очень точно вычислить
Не надо для такого использовать вещественную арифметику.
Большие целые числа есть в OpenSSL к примеру
Храни числа как a + b sqrt(5), где a и b целые (ну или может рациональные, а рациональное число это пара из двух целых).
Не совсем понимаю, можете, пожалуйста, объяснить
Назовем число x красивым, если для каких-то рациональных a, b выполнено `x = a + b * sqrt(5). Утверждения: 1) Для каждого красивого числа есть лишь одна подходящая пара (a,b) 2) сумма и произведение красивых чисел тоже красивые, причем их параметры (a,b) несложно посчитать по параметрам входных чисел. Таким образом, ты можешь написать класс MyNum { Rational a; Rational b; }; написать для него операторы +,-,*, и уже над ним без потери точности посчитать формулу Бине (потому что во время всех этих вычислений ту будешь оставаться среди красивых чисел, а они таким образом точно представимы)
OpenSSL не самая удобная вещ, возможно есть в бусте. Я не занимаюсь этой темой и не в курсе. Плюсовую точно можно найти
Огромное вам спасибо
Нет смысла
Обсуждают сегодня