Haskell程序查找正数的阶乘
本教程讨论了在Haskell编程语言中编写查找正数阶乘的程序。
在本教程中,我们将看到
使用递归函数查找正数阶乘的程序。
使用内置函数product查找正数阶乘的程序。
算法步骤
输入或初始化一个变量来存储一个正整数。
实现查找数字阶乘的程序逻辑。
打印结果阶乘。
方法:使用递归函数查找正数的阶乘
示例
使用内置函数product查找正数阶乘的程序
-- function declaration factorial :: Int->Int -- function definition factorial n = product [1..n] main :: IO() main = do -- initializing variable n let n = 5 -- printing the resulting factorial print ("The factorial of a number " ++ show n ++ " is:") print (factorial n)
输出
"The factorial of a number 5 is:" 120
描述
我们声明了一个名为factorial的函数,它接受一个整数参数并返回一个整数。在其函数定义中,该函数接受一个整数n作为参数。该函数使用双点运算符调用一个名为product的函数,该函数的参数列表是从1到n的整数。
product函数接受一个数字列表作为参数并返回它们的乘积。这里从1到n的所有数字的乘积就是n的阶乘。该函数返回product函数的输出。
在主函数中,变量n被初始化为数字值5。factorial函数被调用,参数为数字n,并使用print函数打印返回的输出。
注意 - show函数接受一个数字作为参数并返回该数字的解析字符串。“++”是Haskell中连接字符串的运算符。
方法2:使用内置函数Product查找正数的阶乘
示例
使用递归函数查找正数阶乘的程序
-- function declaration factorial :: Int->Int -- function definition --base case factorial 0 = 1 factorial n = (n) * factorial (n-1) main :: IO() main = do -- initializing variable n let n = 5 -- printing the resulting factorial print ("The factorial of a number " ++ show n ++ " is:") print (factorial n)
输出
"The factorial of a number 5 is:" 120
描述
声明了一个名为factorial的函数,它接受一个整数参数并返回一个整数。在其函数定义中,它接受一个整数参数n并返回数字n与自身对参数n-1的递归调用的乘积。
递归调用被调用,直到函数达到基本情况,其中参数为0。在基本情况下,函数返回1。此函数计算数字的阶乘。
在主函数中,变量n被初始化为数字值5。factorial函数被调用,参数为数字n,并使用print函数打印返回的输出。
结论
在本教程中,我们讨论了两种在Haskell编程语言中实现查找正数阶乘的程序的方法。
广告