Golang 如何计算商和余数

在本教程中,我们将了解如何通过对用户输入的除数和红利进行算术运算来寻找商和余数。本教程将介绍两种做同样事情的方法。

解释

要除掉任何数字,我们使用”/”算术运算符,要找到余数,我们使用”%”算术运算符。

假设我们有一个红利19和一个除数4,那么商和余数就如下所示。

Quotient = dividend / divisor
   = 19 / 4
   = 4 
Remainder = dividend % divisor
   = 19 % 4
   = 3

函数中的商和余数

算法

  • 第1步 – 声明红利、除数、商和余数的int32数据类型的变量。
  • 第2步 – 从用户那里获得红利和除数的输入。

  • 第3步 - 在函数中使用上述算术运算符找到商和余数。

  • 第4步 - 打印结果。

时间复杂度

O(1) – 时间复杂性是恒定的,因为无论输入什么,程序都需要正常的时间。

空间复杂度

O(1) – 程序中的变量是静态的,所以空间复杂度也是恒定的。

例子1

在这个例子中,我们将在函数中寻找商和余数。

package main

// fmt package provides the function to print anything
import (
   "fmt"
)
func main() {

   // declaring the variables to store dividend, divisor,
   // quotient, and the remainder of type int32 using the var keyword
   var dividend, divisor, quotient, remainder int32
   fmt.Println("Program to find the quotient and the remainder of a number within the function.")

   // initializing the dividend
   dividend = 92

   // initializing the dividend
   divisor = 7

   // finding the quotient by / arithmetic operator
   quotient = dividend / divisor

   // finding the remainder by % arithmetic operator
   remainder = dividend % divisor

   // Printing the result
   fmt.Println("Dividend =", dividend, "\nDivisor=", divisor)
   fmt.Println("Quotient = ", quotient)
   fmt.Println("Reminder = ", remainder)
}

输出

Program to find the quotient and the remainder of a number within the function.
Dividend = 92
Divisor= 7
Quotient = 13
Reminder = 1

代码的描述

  • var dividend, divisor, quotient, remainder int32 – 在这一行中,我们声明了以后要使用的股息、除数、商数和余数。由于股息、除数、商数和余数将是整数,我们使用了int32数据类型。
  • quotient = dividend / divisor – 通过/算术运算找到商

  • remainder = dividend % divisor – 通过%的算术运算找到余数。

  • fmt.Println(“Quotient”, quotient) – 打印商数

  • fmt.Println(“The remainder is”, remainder) – 打印余数。

商和余数在不同的函数中

算法

  • 第1步 – 声明int32数据类型的股息、除数、商数和余数的变量。

  • **第2步 -- **从用户那里获取红利和除数的输入。

  • **第3步 - **以红利和除数为参数调用函数,并存储quotientFunction(divid, divisor int32) 函数返回的商。

  • **第4步 – **调用以长度和宽度为参数的函数,并存储余数函数(dividend, divisor int32)返回的周长。

  • **第5步 - **打印结果。

例2

在这个例子中,我们将通过定义不同的函数来求商和余数。

package main
// fmt package provides the function to print anything
import (
   "fmt"
)

// This function is returning the quotient
func quotientFunction(dividend, divisor int32) int32 {

   // finding the quotient by / arithmetic operator
      return dividend / divisor
}

// This function is returning the remainder
func remainderFunction(dividend, divisor int32) int32 {

   // finding the remainder by % arithmetic operator
   return dividend % divisor
}
func main() {

   // declaring the variables to store dividend, divisor,
   // quotient, and the remainder of type int32 using the var keyword
   var dividend, divisor, quotient, remainder int32
   fmt.Println("Program to find the quotient and the remainder of a number by using the separate function.")

   // scanning the value of the dividend from the user
   fmt.Println("Enter the value of the dividend:")
   fmt.Scanln(&dividend)

   // scanning the value of the divisor from the user
   fmt.Println("Enter the value of the divisor:")
   fmt.Scanln(&divisor)

   // finding the quotient by calling the quotientFunction() function
   quotient = quotientFunction(dividend, divisor)

   // finding the remainder by calling the remainderFunction() function
   remainder = remainderFunction(dividend, divisor)

   // Printing the result
   fmt.Println("The quotient is", quotient)
   fmt.Println("The remainder is", remainder)
}

输出

Program to find the quotient and the remainder of a number by using the separate function.
Enter the value of the dividend:
63
Enter the value of the divisor:
4
The quotient is 15
The remainder is 3

代码的描述

  • var dividend, divisor, quotient, remainder int32 – 在这一行中,我们声明了以后要使用的股息、除数、商数和余数。由于股息、除数、商数和余数将是整数,所以我们使用了 int32 数据类型。
  • fmt.Scanln( ÷nd ) – 从用户那里获取红利的输入。

  • **fmt.Scanln( &divisor) – **从用户那里获取除数的输入。

  • quotient = quotientFunction(divid, divisor) – 通过调用 quotientFunction() 函数找到商。

    • func quoitentFunction(dividor, divisor int32) int32 {} – 这是找商的逻辑所在的函数。该函数将股息和除数作为int32类型的参数,并且有一个int32的返回类型。
    • func remainderFunction(divid, divisor int32) int32 {} – 这是一个寻找余数逻辑的函数。该函数将股息和除数作为int32类型的参数,并且有一个int32的返回类型。

  • remainder = remainderFunction(dividor, divisor) – 通过调用 remainderFunction() 函数找到商。

  • fmt.Println(“The quotient is”, quotient) – 打印商。

  • fmt.Println(“The remainder is”, remainder) – 打印余数。

总结

这就是在Golang中寻找商和余数的两种方法。第二种方法在模块化和代码重用性方面要好得多,因为我们可以在项目的任何地方调用这个函数。