Значение, больше, чем ULong? Вычисления 100!

bool exists = arr.Contains("One");
6
задан Chris 12 August 2009 в 17:33
поделиться

5 ответов

Похоже на Project Euler.

.NET 4.0 имеет System.Numerics.BigInteger, или вы можете найти довольно приятную реализацию здесь:
C # BigInteger Class

Edit: treed: (

Я добавлю - версия на CodeProject имеет дополнительные функции, такие как квадратный корень целого числа, проверка простоты, генерация последовательности Лукаса. Кроме того, у вас нет прямого доступа к буферу в реализации .NET, которая была раздражает из-за пары вещей, которые я пробовал.

8
ответ дан 10 December 2019 в 00:42
поделиться

До тех пор, пока вы не сможете использовать System.Numerics.BigInteger , вы застрянете при использовании сторонней реализации, например BigInteger в Code Project ].

1
ответ дан 10 December 2019 в 00:42
поделиться

Вам нужна реализация BigNums. Это целые числа, которые динамически выделяют память, чтобы они могли хранить свое значение.

Фактически версия была вырезана из BCL .

Библиотека J # имеет реализацию java.math. BigInteger , который можно использовать на любом языке.

В качестве альтернативы , если точность / точность не является проблемой (вы заботитесь только о порядке величины), вы можете просто использовать 64-битные числа с плавающей запятой.

0
ответ дан 10 December 2019 в 00:42
поделиться

decimal будет обрабатывать от 0 до +/- 79,228,162,514,264,337,593,543,950,335 без десятичной точки (шкала нуля)

0
ответ дан 10 December 2019 в 00:42
поделиться

Совет: используйте массив для хранения цифр номера. При осмотре можно сказать, что результат не будет содержать более 200 цифр.

1
ответ дан 10 December 2019 в 00:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: