2015-05-20 3 views
-8

Как я могу справиться с этим?Как я могу работать с очень большими числами?

100^100000000000

, чтобы показать его я разделить его на 10^х и распечатать результат, но он всегда выводит диапазон макс для междунаров (длинный или wathever), разделенных на это 10^х, а не фактический результат.

спасибо.

Pd: На Java если возможно возможно.

+4

Проверить BigInteger – MaxZoom

+1

Google BigInteger Java – Tarik

+3

По крайней мере, Google _something _... – CubeJockey

ответ

0

Вы можете использовать: BigInteger и BigDecimal классы для такого рода вычислений;

Но алгоритм мощности для таких больших номеров мощности, которые вам нужно реализовать.

Что-то вроде этого:

public static void main(String[] args) { 
    System.out.println(pow("100","100000000000")); 
} 

private static BigInteger pow(String b, String p) { 
    BigInteger toPow = new BigInteger(b); 
    BigInteger pow = new BigInteger(p); 
    while (pow.compareTo(BigInteger.ONE)!=0) { 
     pow = pow.subtract(BigInteger.ONE); 
     toPow = toPow.multiply(toPow); 
    } 
    return toPow; 
} 
Смежные вопросы