Haskell程序计算数字的幂


本教程讨论了在Haskell编程语言中编写计算数字幂的程序。

一个数字的n次幂是指将该数字自身乘以n次的数值。

数字的幂可以用指数形式“a^n”表示,a被提升到n次幂。其中a称为底数,n称为指数。例如,2的5次幂为2^5,即32。

在本教程中,我们将看到实现计算数字幂的程序的不同方法。

  • 使用运算符“^”计算数字幂的程序。
  • 使用运算符“^^”计算数字幂的程序。
  • 使用运算符“**”计算数字幂的程序。
  • 使用运算符“*”计算数字幂的程序。

算法步骤

  • 获取输入或初始化变量。
  • 实现计算数字幂的程序逻辑。
  • 打印或显示输出。

示例1

使用运算符“^”计算数字幂的程序

Open Compiler
main :: IO() main = do -- initializing and declaring variable for base and exponent let base = 2 let expo = 5 -- computing the power and printing the output print (show base ++ " raised to the power of " ++ show expo ++ " is:") print (base^expo)

输出

"2 raised to the power of 5 is:"
32

在上面的程序中,我们声明并初始化了底数和指数的变量,分别为base和expo,其值为2和5。我们使用运算符“^”计算了底数的幂。最后,我们使用print函数打印了输出。运算符“^”的函数声明为 (^) :: (Num a, Int b) => a -> b -> a。底数可以是整数或浮点数,指数必须是整数。

注意 − show函数用于将数字解析为字符串。此函数接收一个数字参数并返回一个字符串。“++”是Haskell中用于连接字符串的运算符。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

示例2

使用运算符“^^”计算数字幂的程序

Open Compiler
main :: IO() main = do -- initializing and declaring variable for base and exponent let base = 2.1 let expo = 5 -- computing the power and printing the output print (show base ++ " raised to the power of " ++ show expo ++ " is:") print (base^^expo)

输出

"2.1 raised to the power of 5 is:"
40.841010000000004

在上面的程序中,我们声明并初始化了底数和指数的变量,分别为base和expo,其值为2.1和5。我们使用运算符“^^”计算了底数的幂。最后,我们使用print函数打印了输出。运算符“^^”的函数声明为 (^^) :: (Float a, Int b) => a -> b -> a。底数为浮点数,指数必须是整数。

示例3

使用运算符“**”计算数字幂的程序

Open Compiler
main :: IO() main = do -- initializing and declaring variable for base and exponent let base = 2.1 let expo = 5.2 -- computing the power and printing the output print (show base ++ " raised to the power of " ++ show expo ++ " is:") print (base**expo)

输出

"2.1 raised to the power of 5.2 is:"
47.374030205310675

在上面的程序中,我们声明并初始化了底数和指数的变量,分别为base和expo,其值为2.1和5.2。我们使用运算符“**”计算了底数的幂。最后,我们使用print函数打印了输出。运算符“**”的函数声明为 (**) :: (Float a) => a -> a -> a。底数为浮点数,指数为浮点数。

示例4

使用运算符“*”计算数字幂的程序

Open Compiler
-- function declaration power :: Int->Int->Int -- function definition -- base case 1 power base 0 = 1 -- base case 2 power base 1 = base power base expo = base*(power base (expo-1)) main :: IO() main = do -- initializing and declaring variable for base and exponent let base = 2 let expo = 5 -- computing the power and printing the output print (show base ++ " raised to the power of " ++ show expo ++ " is:") print (power base expo)

输出

"2 raised to the power of 5 is:"
32

在上面的程序中,我们声明了一个名为power的函数,它接收两个整数参数并返回一个整数。在其函数定义中,我们定义了两个基本情况:如果第二个参数为零,则返回1。如果第二个参数为1,则返回第一个参数(底数)。在其他情况下,函数返回一个递归调用,其参数为底数和(expo-1)乘以底数。即此函数返回底数的幂,直到expo的次数。在主函数中,我们声明并初始化了底数和指数的变量,分别为base和expo,其值为2和5。我们使用这两个变量作为参数调用了该函数,并使用print函数打印了返回的输出。

结论

在本教程中,我们讨论了在Haskell编程语言中实现计算数字幂的程序的四种不同方法。

更新于: 2022年12月14日

972 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告