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