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 程式語言中計算自然數之和。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP