Golang 程序从有理数中获取分子

go programmingserver side programmingprogramming更新于 2025/5/13 8:52:17

在本文中,我们将讨论如何从有理数中获取分子。

语法

func NewRat(a, b int64) *Rat
func (x *Rat) Num() *Int

NewRat() 函数以两个整数作为输入参数,并以 a/b 的形式返回有理数。这里 a 是有理数的分子,b 是有理数的分母。

Go 语言中的 Num() 函数以整数格式返回有理数的分子作为结果。

方法 1

Go 语言程序从有理数中获取分子。

算法

  • 步骤 1 − 导入 fmt 和 big 包。

  • 步骤 2 − 调用 main() 函数。

  • 步骤 3 − 初始化一个变量来存储有理数。使用 big.NewRat() 创建有理数。

  • 步骤 4 − 使用 num() 函数获取有理数的分子。

  • 步骤 5 − 存储结果并将其打印在屏幕上

示例

使用库函数获取有理数分子的源代码如下 −

// 包括主包
package main

// 导入 fmt 和 math/big
import (
    "fmt"
    "math/big"
)
// fmt 包允许我们在屏幕上打印任何内容
// math 包中定义的 big 允许我们使用各种预定义方法,如 Num()

// 调用 main
func main() {
    fmt.Println("Golang 程序获取有理数的分子")
    
    // NewRat 创建一个新的有理数,分子为 a,分母为 b
    number := big.NewRat(10, 16)
    
    // 将结果打印到屏幕上
    fmt.Println("有理数是", number)
    
    // 获取有理数的分子
    // 将结果存储在 result 变量中
    result := number.Num()
    
    // 将分子打印到屏幕上
    fmt.Println("有理数的分子", number, "是:", result)
}

输出

Golang 程序获取有理数的分子
有理数是 5/8
The numerator of rational number 5/8 is: 5

描述

  • 首先,我们需要导入 fmt 包,以便打印任何内容,并导入 big 包以使用各种预定义方法。

  • 调用 main() 函数。

  • 使用 big 包中定义的 NewRat() 函数创建一个有理数,方法是向该函数提供两个输入作为参数。这些输入的给出方式是,第一个输入被视为有理数的分子,第二个输入是其分母。

  • 然后将数字存储在名为 number 的变量中。

  • 现在我们需要获取这个数字的分子并将其打印在屏幕上。

  • 要获取分子,请使用 big 包中的 Num() 函数。此函数以 int 格式返回分子作为结果。

  • 将结果的值存储在变量中。

  • 使用 println() 函数将结果打印在屏幕上。

方法 2

使用两个函数从有理数中获取分子的 Go 语言程序。

算法

  • 步骤 1 − 导入 fmt、big 和 rand 包。

  • 步骤 2 − 创建 getNumerator() 函数。

  • 步骤 3 − 调用 main() 函数。

  • 步骤 4 − 调用 getNumerator() 函数。

  • 步骤 5 − 初始化一个变量以存储有理数它。使用 big.NewRat() 创建有理数。

  • 步骤 6 − 使用 Num() 函数获取有理数的分子。

  • 步骤 7 − 返回此值。

  • 步骤 8 − 存储结果并将其打印在屏幕上。

示例

使用两个函数获取有理数分子的源代码如下 −

// 包括主包
package main

// 导入 fmt 和 math/big
import (
   "fmt"
   "math/big"
   "math/rand"
)
// fmt 包允许我们在屏幕上打印任何内容。 
// big 包允许我们像老鼠一样使用各种预定义的数学方法
// rand 包允许我们生成随机数。

// 初始化 getNumerator() 函数。
func getNumerator() *big.Int {
    // NewRat 创建一个新的有理数,分子为 a,分母为 b
    number := big.NewRat(int64(rand.Intn(200)), int64(rand.Intn(200)))
    
    // 打印结果
    fmt.Println("有理数是", number)
    
    // 获取有理数的分子
    // 将结果存储在结果变量中
    result := number.Num()
    
    // 返回结果
    return result
}
// 调用 main
func main() {
    fmt.Println("Golang 程序获取有理数的分子")
    
    // 调用 getNumerator() 函数
    result := getNumerator()
    
    // 在屏幕上打印分子
    fmt.Println("有理数的分子是:", result)
}

输出

Golang 程序获取有理数的分子
有理数是 27/29
有理数的分子是:27

说明

  • 导入 fmt、big 和 rand 包。

  • fmt 包允许我们在屏幕上打印任何内容。big 包允许我们使用各种预定义的数学方法,如 rat,rand 包允许我们生成随机数。

  • 创建并定义 getNumerator() 函数。此函数将生成有理数并返回其分子。

  • 在这里,我们使用 NewRat() 方法生成有理数。我们已经使用 RandInt() 函数生成最大为 200 的随机整数值,这些值以分子和分母的形式充当此函数的输入。

  • 我们已经将以这种方式生成的 32 位 int 数转换为 64 位,因为 NewRat() 接受 64 位值作为输入。

  • 使用 Num() 函数获取分子的值并将结果存储在变量中。

  • 返回此值。

  • 使用 fmt.Printf() 函数将最终结果打印在屏幕上。


相关文章