Golang 如何计算商和余数
在本教程中,我们将了解通过对用户输入的被除数和除数执行算术运算来找到商和余数的方法。本教程将介绍两种做同样事情的方法。
解释
要除以任何数字,我们使用“ / ”算术运算符,要找到余数,我们使用“ % ”算术运算符
假设我们有一个被除数19和一个除数4,那么商和余数如下:
Quotient = dividend / divisor
= 19 / 4
= 4
Remainder = dividend % divisor
= 19 % 4
= 3
函数内的商和余数
步骤
- 步骤 1 - 声明变量dividend(被除数)、divisor(除数)、quotient(商)和remainder(余数),数据类型为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) - 打印商
-
fmt.Println(“余数是”, remainder) - 打印余数
将商和余数分别放在两个函数中
步骤
-
第1步 - 声明被除数、除数、商和余数的变量,数据类型为int32。
-
第2步 - 从用户输入获取被除数和除数。
-
第3步 - 以被除数和除数为参数调用函数,并将生成的商存储起来,该函数为quotientFunction(被除数,除数 int32)。
-
第4步 - 以被除数和除数为参数调用函数,并将生成的余数存储起来,该函数为remainderFunction(被除数,除数 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(÷nd)
// 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(dividend, divisor) - 通过调用quotientFunction()函数来找到商。
- funcquotientFunction(dividend,divisor int32) int32 {} - 这是一个函数,其中包含找到商的逻辑。该函数具有int32类型的被除数和除数作为参数,并且还有一个int32返回类型。
-
funcremainderFunction(dividend,divisor int32) int32 {} - 这是一个函数,其中包含找到余数的逻辑。该函数具有int32类型的被除数和除数作为参数,并且还有一个int32返回类型。
-
remainder = remainderFunction(dividend,divisor) - 通过调用remainderFunction()函数来找到余数。
-
fmt.Println(“The quotient is”,quotient) - 打印商。
-
fmt.Println(“The remainder is”,remainder) - 打印余数。
结论
这是在Golang中找到商和余数的两种方法。第二种方法在模块化和代码可重用性方面更好,因为我们可以在项目中的任何地方调用该函数。要了解更多关于go的信息,您可以浏览这些 教程。