2015-01-07 5 views
0

Java에서 일부 산술 계산을 수행하고 BigInteger를 사용하여 음수 지수에 힘을 적용하여 모듈러스 역수를 유도하는 문제를 만났습니다. 물론BigInteger에 대한 음의 지수

BigInteger x = new BigInteger("6"); 
x.pow(-1); 

,이 오류로 인해 :

Exception in thread "main" java.lang.ArithmeticException: Negative exponent 

는 modpow 부정적인 지수를 허용하지만 내 경우에는 모드를 사용하고 있지 않다 이해합니다. 이 문제를 해결할 수있는 방향이 있습니까?

+2

답변을 원하십니까? BigDecimal? –

+1

모듈러 인버스를하려한다면 BigInteger.modInverse()를 사용하십시오. 그렇지 않다면, 결과가 정수가 아니며, BigInteger라는 클래스가이를 처리 할 것으로 예상해서는 안됩니다. 아니? – BadZen

+1

* "음수 지수에 힘을 적용하여 모듈러스 역수를 유도하는 BigInteger"* - [Java.math.BigInteger.modInverse']를 찾고 있다고 생각합니다 (http://docs.oracle.com/javase /7/docs/api/java/math/BigInteger.html). – jww

답변

0

더 나 빠지면 항상 미적분의 Maclaurin 멱급수를 사용할 수 있습니다.

e^-x = 1 - x + (1/2!)x^2 - (1/3!)x^3 + ... 

에 대한 Maclaurin 시리즈는 e^-x에 대한 답을 얻기 위해 BigDecimal과 함께 사용할 수 있습니다.