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