Haskell程序计算整数的位数
在本教程中,我们将讨论编写一个程序,在 Haskell 编程语言中计算整数的位数。
在本教程中,我们将看到三种在 Haskell 中实现计算位数程序的方法。
- 计算整数位数的程序。
- 使用 if-else 语句计算整数位数的程序。
- 使用 length 函数计算整数位数的程序。
算法步骤
获取输入或初始化一个整数变量。
实现计算整数位数的程序逻辑。
打印或显示计数结果。
示例 1
计算整数位数的程序
-- function declaration
countDigits :: Int->Int
-- function definition
-- base case
countDigits 0 = 0
countDigits n = 1 + countDigits (div n 10)
main :: IO()
main = do
-- declaring and initializing a variable number
let number = 123
-- invoking the function countDigits and printing the returned integer
print ("number of digits in the number " ++ (show number) ++ " is:")
print (countDigits number)
输出
"number of digits in the number 123 is:" 3
在上面的程序中,我们声明了一个名为 countDigits 的函数,它接受一个整数作为参数并返回一个整数。在其函数定义中,我们接受一个整数参数 n,并返回 1 加上对自身进行递归调用,并将参数 n 除以 10。这些调用会一直进行,直到达到基本情况,即参数为 0。在这种情况下,函数返回 0。也就是说,此函数计算整数的位数。在主函数中,我们声明并初始化了一个名为 number 的变量。最后,我们调用了 countDigits 函数,并使用 print 函数打印了返回的输出。
示例 2
使用 if-else 语句计算整数位数的程序。
-- function declaration
countDigits :: Int->Int
-- function definition
countDigits n = if (n>0)
then 1 + countDigits (div n 10)
else 0
main :: IO()
main = do
-- declaring and initializing a variable number
let number = 123
-- invoking the function countDigits and printing the returned integer
print ("number of digits in the number " ++ (show number) ++ " is:")
print (countDigits number)
输出
"number of digits in the number 123 is:" 3
在上面的程序中,我们声明了一个名为 countDigits 的函数,它接受一个整数作为参数并返回一个整数。在其函数定义中,我们接受一个整数参数 n。如果 n 的值大于 0,则返回对自身进行递归调用,并将参数 n 除以 10 并加上 1。如果值为零,则返回零。也就是说,此函数计算整数的位数。在主函数中,我们声明并初始化了一个名为 number 的变量。最后,我们调用了 countDigits 函数,并使用 print 函数打印了返回的输出。
示例 3
使用 length 函数计算整数位数的程序。
-- function declaration
countDigits :: Int->Int
-- function definition
countDigits n = d
where
str = show n
d = length str
main :: IO()
main = do
-- declaring and initializing a variable number
let number = 123
-- invoking the function countDigits and printing the returned integer
print ("number of digits in the number " ++ (show number) ++ " is:")
print (countDigits number)
输出
"number of digits in the number 123 is:" 3
在上面的程序中,我们声明了一个名为 countDigits 的函数,它接受一个整数作为参数并返回一个整数。在其函数定义中,我们接受一个整数参数 n。我们使用 show 函数将数字 n 解析为字符串,并将其加载到一个名为 str 的变量中。我们使用参数 str 调用了 length 函数,并将返回的输出加载到一个名为 d 的变量中,该变量由函数返回。length 函数是一个列表函数,它返回列表中元素的数量。由于 Haskell 中的字符串是字符列表,因此所有列表函数都可以在字符串上使用。也就是说,此函数计算整数的位数。在主函数中,我们声明并初始化了一个名为 number 的变量。最后,我们调用了 countDigits 函数,并使用 print 函数打印了返回的输出。
结论
在本教程中,我们讨论了三种在 Haskell 编程语言中实现计算整数位数程序的方法。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP