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 程式語言中實現計算整數位數程式的方法。