Как добавить пользовательские методы в контроллер ASP.NET WebAPI?

Я удивлен, что никто этого не сказал: используйте продолженные дроби . Любое рациональное число может быть представлено конечно в двоичном виде.

Некоторые примеры:

1/3 (0.3333 ...)

0; 3

5 / 9 (0,5555 ...)

0; 1, 1, 4

10/43 (0,232558139534883720930 ...)

0; 4, 3, 3

9093/18478 (0.49209871198181621387596060179673 ...)

0; 2, 31, 7, 8, 5

Здесь существует множество известных способов хранения последовательности целых чисел в памяти.

В дополнение к сохранению вашего номера с полной точностью, продолжающиеся дроби также имеют некоторые другие преимущества, такие как наилучшая рациональная аппроксимация. Если вы решите закончить последовательность чисел в продолженной доле раньше, оставшиеся цифры (когда рекомбинируются до фракции) дадут вам наилучшую возможную долю. Таким образом, найдены приближения к pi:

Продолжающаяся дроби Pi:

3; 7, 15, 1, 292 ...

Завершая последовательность в 1, это дает долю:

355 / 113

, который является отличным рациональным приближением.

23
задан Developer 19 July 2014 в 17:49
поделиться