函数

func abs(BigInt)

public func abs(i: BigInt): BigInt

功能:求一个 BigInt 的绝对值。

参数:

返回值:

示例:

import std.math.numeric.*

main() {
    let n: BigInt = BigInt(-23)
    let abs = abs(n)
    println(abs)
}

运行结果:

23

func countOne(BigInt)

public func countOne(i: BigInt): Int64

功能:计算并返回入参 BigInt 的二进制补码中 1 的个数。

参数:

  • i: BigInt - 需要计算二进制补码中 1 的个数的 BigInt

返回值:

  • Int64 - 返回入参 BigInt 的二进制补码中 1 的个数。

示例:

import std.math.numeric.*

main() {
    let i: BigInt = BigInt(255)
    let countOne = countOne(i)
    println(countOne)
}

运行结果:

8

func gcd(BigInt, BigInt)

public func gcd(i1: BigInt, i2: BigInt): BigInt

功能:求两个 BigInt 的最大公约数。总是返回非负数(相当于绝对值的最大公约数)。

参数:

  • i1: BigInt - 需要计算最大公约数的第一个入参。
  • i2: BigInt - 需要计算最大公约数的第二个入参。

返回值:

  • BigInt - 返回 i1i2 的最大公约数,总是返回非负数。

示例:

import std.math.numeric.*

main() {
    let i1: BigInt = BigInt(-36)
    let i2: BigInt = BigInt(48)
    let gcd = gcd(i1, i2)
    println(gcd)
}

运行结果:

12

func lcm(BigInt, BigInt)

public func lcm(i1: BigInt, i2: BigInt): BigInt

功能:求两个 BigInt 的的最小公倍数。除了入参有 0 时返回 0 外,总是返回正数(相当于绝对值的最小公倍数)。

参数:

  • i1: BigInt - 需要计算最小公倍数的第一个入参。
  • i2: BigInt - 需要计算最小公倍数的第二个入参。

返回值:

  • BigInt - 返回 i1i2 的最小公倍数,当入参有 0 时返回 0,其余情况返回正数。

示例:

import std.math.numeric.*

main() {
    let i1: BigInt = BigInt(-36)
    let i2: BigInt = BigInt(48)
    let lcm = lcm(i1, i2)
    println(lcm)
}

运行结果:

144

func max(BigInt, BigInt)

public func max(i1: BigInt, i2: BigInt): BigInt

功能:计算并返回两个 BigInt 中较大的那个。

参数:

返回值:

示例:

import std.math.numeric.*

main() {
    let i1: BigInt = BigInt(-36)
    let i2: BigInt = BigInt(48)
    let max = max(i1, i2)
    println(max)
}

运行结果:

48

func min(BigInt, BigInt)

public func min(i1: BigInt, i2: BigInt): BigInt

功能:计算并返回两个 BigInt 中较小的那个。

参数:

返回值:

示例:

import std.math.numeric.*

main() {
    let i1: BigInt = BigInt(-36)
    let i2: BigInt = BigInt(48)
    let min = min(i1, i2)
    println(min)
}

运行结果:

-36

func sqrt(BigInt)

public func sqrt(i: BigInt): BigInt

功能:求 BigInt 的算数平方根,向下取整。

参数:

  • i: BigInt - 需要计算算数平方根的 BigInt,入参需要非负。

返回值:

  • BigInt - 返回入参 BigInt 的算数平方根,向下取整。

异常:

示例:

import std.math.numeric.*

main() {
    let n: BigInt = BigInt(23)
    let sqrt = sqrt(n)
    println(sqrt)
}

运行结果:

4