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語言程式程式碼。

更新於:2022年11月15日

753 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.