Haskell 程式反轉數字
本教程討論了在 Haskell 程式語言中編寫反轉數字的程式。
在本教程中,我們將看到兩種在 Haskell 中實現反轉數字程式的方法。
- 使用列表函式 reverse 反轉數字的程式。
- 使用遞迴函式反轉數字的程式。
示例 1
使用列表函式 reverse 反轉數字的程式。
-- function declaration
reverseNumber :: Int->Int
-- function definition
reverseNumber n = k
where
temp = reverse (show n)
k = read temp :: Int
main :: IO()
main = do
-- declaring and initializing a variable number
let number = 123
-- invoking the function reverseNumber and printing the returned number
print ("The reverse number for the number " ++ show number ++ " is:")
print (reverseNumber number)
輸出
"The reverse number for the number 123 is:" 321
在上述程式中,我們聲明瞭一個名為 reverseNumber 的函式,它接收一個整數作為引數並返回一個整數。在函式定義中,我們接收一個引數 n。我們使用 show 函式將整數 n 解析為字串,並呼叫 show 函式返回值的 reverse 函式。並將結果載入到變數 temp 中。由於 Haskell 中的字串是字元列表。reverse 函式接收列表作為輸入並返回其反轉結果。我們使用 read 函式將字串 temp 解析為整數,並將其載入到變數 k 中,該變數由函式返回。即 reverseNumber 函式將整數轉換為字串,使用字串函式 reverse 反轉字串,將其重新轉換為數字,並返回該數字。
在主函式中,我們宣告並初始化了一個數字。最後,我們使用該數字作為引數呼叫 reverseNumber 函式並列印返回的輸出。
示例 2
使用遞迴函式反轉數字的程式。
-- function declaration
reverseNumber :: Int->Int->Int
-- function definition
-- base case
reverseNumber 0 revnum = revnum
reverseNumber num revnum = reverseNumber x y
where
k = mod num 10
y = revnum * 10 + k
x = div num 10
main :: IO()
main = do
-- declaring and initializing variable number
let number = 123
-- invoking the function reverseNumber and printing the returned result
print ("The reverse number for the number " ++ show number ++ " is:")
print (reverseNumber number 0)
輸出
"The reverse number for the number 123 is:" 321
在上述程式中,我們聲明瞭一個名為 reverseNumber 的函式,它接收兩個整數作為引數並返回一個整數。在函式定義中,我們接收兩個整數引數 num 和 revnum。我們使用 mod 函式提取 num 中個位上的數字,並將其載入到變數 k 中。我們將引數 revnum 乘以 10 並加上數字 k,並將結果載入到變數 y 中。將引數 rev 除以 10 並將其載入到變數 x 中。最後,我們返回對 reverseNumber 函式的遞迴呼叫,引數為 x 和 y。遞迴呼叫會一直執行,直到函式達到基本情況,其中第一個引數為 0,函式返回第二個引數。在主函式中,我們宣告並初始化了一個數字。最後,我們使用該數字作為引數呼叫 reverseNumber 函式並列印返回的輸出。
結論
在本教程中,我們討論了兩種在 Haskell 程式語言中實現反轉數字程式的方法。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP