Go语言程序检查阿姆斯特朗数
在本教程中,我们将学习如何在Go编程语言中检查阿姆斯特朗数。
阿姆斯特朗数(也称为自恋数)是一个数,其各位数字的立方和等于该数本身。
示例1:$\mathrm{(1^3) \:+ \:(5^3) \:+ \:(3^3)\:= \:153}$
示例2:$\mathrm{(3^3) \:+ \:(7^3) \:+ \:(1^3)\:= \:371}$
在下面的示例中,我们将读取一个整数,然后使用Go语言程序检查给定的数是否为阿姆斯特朗数。
语法
Syntax of For loop Initialize for condition { } incrementor
初始化语句是可选的,在for循环开始之前执行。
条件语句包含一个布尔表达式,在循环的每次迭代开始时都会对其进行评估。如果条件语句的值为真,则循环执行。
增量语句在for循环体之后执行。在增量语句之后,条件语句再次进行评估;如果条件语句的值为假,则循环结束。
示例1:以下示例演示了如何在主函数中使用函数来检查阿姆斯特朗数
算法
步骤1 − 导入fmt包。
步骤2 − 开始函数main ()。
步骤3 − 声明并初始化变量。
步骤4 − 使用带有条件和增量器的for循环。
步骤5 − 使用fmt.Printf()打印结果。
示例
// Golang Program to check Armstrong Number package main // fmt package provides the function to print anything import "fmt" func main() { fmt.Println("Number = 153") // declare the variables var number, temp, remainder int var result int = 0 // initialize the variables number = 153 temp = number // Use of For Loop for { remainder = temp % 10 result += remainder * remainder * remainder temp /= 10 if temp == 0 { break // Break Statement used to stop the loop } } // If satisfies Armstrong condition if result == number { fmt.Printf("%d is an Armstrong number.", number) } else { fmt.Printf("%d is not an Armstrong number.", number) } // print the result }
输出
Number = 153 153 is an Armstrong number.
代码描述
在上面的程序中,我们首先声明main包。main包用于告诉Go语言编译器必须编译该包并生成可执行文件。
我们导入了fmt包,该包包含fmt包的文件,然后我们可以使用与fmt包相关的函数。
现在开始函数main (),此函数是可执行程序的入口点。它不接受任何参数也不返回任何值。
首先,我们声明四个整型变量。将number变量初始化为您想要的整数值,将result变量初始化为0。
使用for循环 − 条件在if语句中给出,停止执行由break语句指定。
最后使用fmt.Printf打印结果到屏幕。
示例2:以下示例演示了如何使用两个单独的函数来检查阿姆斯特朗数
算法
步骤1 − 导入fmt包。
步骤2 − 创建CHECKARMSTRONG ()函数。
步骤3 − 声明并初始化变量。
步骤4 − 使用带有条件和增量器的for循环。
步骤5 − 开始函数main ()。
步骤6 − 调用函数CHECKARMSTRONG ()。
步骤7 − 使用fmt.Printf()打印结果。
示例
package main // fmt package provides the function to print anything import "fmt" // CREATE A FUNCTION TO CHECK FOR ARMSTRONG NUMBER func CHECKARMSTRONG(number int) bool { // declare the variables fmt.Printf("\nEntered Number =%d\n", number) temp := 0 remainder := 0 var result int = 0 // initialize the variables temp = number // Use of For Loop // here we calculate the sum of the cube of each digit of the // given number to check the given number is Armstrong or not for { remainder = temp % 10 result += remainder * remainder * remainder temp /= 10 if temp == 0 { break // Break Statement used to stop the loop } } // If satisfies Armstrong condition if result == number { fmt.Printf("%d is an Armstrong number.", number) } else { fmt.Printf("%d is not an Armstrong number.", number) } return true // print the result } func main() { fmt.Println("GOLANG PROGRAM TO CHECK ARMSTRONG NUMBER") // calling the function CHECKARMSTRONG() CHECKARMSTRONG(153) CHECKARMSTRONG(351) }
输出
GOLANG PROGRAM TO CHECK ARMSTRONG NUMBER Entered Number =153 153 is an Armstrong number. Entered Number =351 351 is not an Armstrong number. Program exited.
代码描述
在上面的程序中,我们首先声明main包。main包用于告诉Go语言编译器必须编译该包并生成可执行文件。
我们导入了fmt包,该包包含fmt包的文件,然后我们可以使用与fmt包相关的函数。
接下来创建CHECKARMSTRONG ()函数来检查该数是否为阿姆斯特朗数。
将整型变量temp、remainder和result声明为0。
接下来,我们使用带有条件和增量器的for循环来检查该数是否为阿姆斯特朗数。在代码中,我们计算给定数字的每个数字的立方和,以检查给定的数字是否为阿姆斯特朗数。
现在我们开始函数main (),此函数是可执行程序的入口点。它不接受任何参数也不返回任何值。
接下来,我们使用需要检查阿姆斯特朗数的整数值调用CHECKARMSTRONG ()函数。
最后,结果使用fmt.Printf()函数打印到屏幕上。
结论
在以上两个示例中,我们已成功编译并执行了用于检查阿姆斯特朗数的Go语言程序代码。