Go语言程序获取有理数的分子


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

语法

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 - 存储结果并将其打印到屏幕上

示例

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

// Including the main package
package main

// Importing fmt and math/big
import (
   "fmt"
   "math/big"
)
// fmt package allows us to print anything on the screen
// big defined in math package allows us to use various predefined methods like Num()

// Calling main
func main() {
   fmt.Println("Golang Program to get the numerator of a rational number")

   // NewRat creates a new Rational number with numerator a and denominator b
   number := big.NewRat(10, 16)

   // Printing the result on the screen
   fmt.Println("The rational number is", number)

   // getting the numerator of the rational number
   // storing the result in a result variable
   result := number.Num()

   // printing the numerator on the screen
   fmt.Println("The numerator of rational number", number, "is:", result)
}

输出

Golang Program to get the numerator of a rational number
The rational number is 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 - 存储结果并将其打印到屏幕上。

示例

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

// Including the main package
package main

// Importing fmt and math/big
import (
   "fmt"
   "math/big"
   "math/rand"
)
// fmt package allows us to print anything on the screen. 
// big package allows us to use various predefined mathematical methods like a rat 
// rand package allows us to generate random numbers.


// Initializing the getNumerator() function.
func getNumerator() *big.Int {
   // NewRat creates a new Rational number with numerator a and denominator b
   number := big.NewRat(int64(rand.Intn(200)), int64(rand.Intn(200)))

   // Printing the result
   fmt.Println("The rational number is", number)

   // getting the numerator of the rational number
   // storing the result in a result variable
   result := number.Num()

   // returning the result
   return result
}
// Calling main
func main() {
   fmt.Println("Golang Program to get the numerator of a rational number")

   // calling the getNumerator() function
   result := getNumerator()

   // printing the numerator on the screen
   fmt.Println("The numerator of rational number is:", result)
}

输出

Golang Program to get the numerator of a rational number
The rational number is 27/29
The numerator of rational number is: 27

描述

  • 导入 fmt、big 和 rand 包。

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

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

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

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

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

  • 返回此值。

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

更新于:2022-12-22

231 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告