Haskell程式計算自然數之和


在本教程中,我們將討論編寫一個程式,使用 Haskell 程式語言計算自然數之和。

自然數是從 1、2、3...N 開始的正整數

在本教程中,我們將瞭解實現計算自然數之和程式的不同方法。

  • 使用數學公式計算自然數之和的程式。

  • 使用遞迴函式計算自然數之和的程式。

  • 使用列表方法/函式 sum 計算自然數之和的程式。

演算法步驟

  • 宣告或輸入自然數的範圍值 (n)。

  • 實現程式以計算最多 n 的自然數之和。

  • 列印或顯示計算出的總和。

示例 1

使用數學公式計算自然數之和的程式。

main :: IO() main = do -- declaring and initializing the variable for range n let n = 10 -- computing sum and loading it in a variable let sum = n*(n+1)/2 -- printing the computed sum print ("sum of the natural number in range 1 to "++ show n) print (sum)

輸出

"sum of the natural number in range 1 to 10.0"
55.0

在上面的程式中,我們宣告並初始化了一個變數 n 來載入範圍值。我們使用邏輯 n*(n+1)/2 計算了最多 n 的自然數之和。我們將計算出的值載入到變數 sum 中。最後,我們使用 print 函式列印了計算出的總和。

注意:“++” 是連線兩個字串的運算子。函式 show 用於將數字解析為字串。此函式接受一個引數並返回一個字串。

示例 2

使用遞迴函式計算自然數之和的程式

-- function declaration for function sumNatural sumNatural :: Int->Int -- function definition for function sumNatural -- base case sumNatural 1 = 1 -- all other cases sumNatural n = n + sumNatural (n-1) main :: IO() main = do -- declaring and initializing the variable for range n let n = 20 -- computing sum by invoking the function sumNatural and loading it in a variable let sum = sumNatural n -- printing the computed sum print ("sum of the natural number in range 1 to "++ show n) print (sum)

輸出

"sum of the natural number in range 1 to 20"
210

在上面的程式中,我們聲明瞭一個函式 sumNatural,它接受一個整數作為引數並返回一個整數。在其函式定義中,我們正在獲取一個整數引數 n 並返回 n 加上對自身進行遞迴呼叫(引數為 n-1)。在函式基部,如果引數為 1,則函式返回 1。即函式返回從 1 到 n 的數字之和。在主函式中,我們宣告並初始化了範圍值 n 的變數。我們使用引數 n 呼叫了函式 sumNatural,並將返回值載入到變數 sum 中。最後,我們列印了變數 sum。

示例 3

使用列表方法/函式 sum 計算自然數之和的程式

main :: IO() main = do -- declaring and initializing the variable for range n let n = 10 -- generating a list of numbers from 1 to n let numbers = [1..n] -- computing sum by using the list method sum let sum1 = sum numbers -- printing the computed sum print ("sum of the natural number in range 1 to "++ show n) print (sum1)

輸出

"sum of the natural number in range 1 to 10.0"
55.0

在上面的程式中,我們宣告並初始化了一個變數 n 來載入範圍值。我們使用“..”運算子生成了一個從 1 到 n 的數字列表,並將列表載入到變數 numbers 中。我們使用引數 numbers 呼叫了函式 sum。函式 sum 接受一個數字列表並返回列表中元素的總和。我們將返回的總和載入到變數 sum1 中,最後我們列印了變數 sum1。

結論

在本教程中,我們討論了三種不同的方法來實現一個程式,以便在 Haskell 程式語言中計算自然數之和。

更新於: 2022年11月24日

834 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.