指数的 BigIntegers(在函数 pow 中)
BigIntegers for exponent (in function pow)
我正在尝试制作一个程序,您可以在其中给 BigIntegers 求出它们的幂和 returns 最后一位。但是我无法通过任何方式将 bigInteger 传递给 pow method.Is ?
Note: I dont want to change the bigInteger to an int
代码:
import java.math.BigInteger;
fun main(args: Array<String>) {
println(lastDigit(BigInteger("1606938044258990275541962092341162602522202993782792835301376"),BigInteger("2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397376")))
}
fun lastDigit(base: BigInteger, exponent: BigInteger): Int {
var allDigits : String = base.pow(exponent).toString()
return allDigits[allDigits.count()-1].toInt()
}
输出:
Type mismatch: inferred type is BigInteger but Int was expected
如果 BigInteger
指数足够小,您可以先使用 BigInteger.intValue()
.
将其转换为 Int
但是,如果您确实需要使用 BigInteger
范围内的实际指数,您可能需要考虑您的计算机在内存中实际可以容纳什么。
请查看 this existing question,我猜它是你的副本(它在 Java 中,但大致相同 API)。
我正在尝试制作一个程序,您可以在其中给 BigIntegers 求出它们的幂和 returns 最后一位。但是我无法通过任何方式将 bigInteger 传递给 pow method.Is ?
Note: I dont want to change the bigInteger to an int
代码:
import java.math.BigInteger;
fun main(args: Array<String>) {
println(lastDigit(BigInteger("1606938044258990275541962092341162602522202993782792835301376"),BigInteger("2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397376")))
}
fun lastDigit(base: BigInteger, exponent: BigInteger): Int {
var allDigits : String = base.pow(exponent).toString()
return allDigits[allDigits.count()-1].toInt()
}
输出:
Type mismatch: inferred type is BigInteger but Int was expected
如果 BigInteger
指数足够小,您可以先使用 BigInteger.intValue()
.
Int
但是,如果您确实需要使用 BigInteger
范围内的实际指数,您可能需要考虑您的计算机在内存中实际可以容纳什么。
请查看 this existing question,我猜它是你的副本(它在 Java 中,但大致相同 API)。