Haskell 程式顯示數字的因子
在 Haskell 中,我們可以使用列表推導式、filter 函式和遞迴來顯示數字的因子。在第一個示例中,我們將使用 (factors n = [x | x <- [1..n], n `mod` x == 0]) 作為列表推導式,在第二個示例中,我們將使用 (filter (\x -> n `mod` x == 0) [1..n]) 函式。在第三個示例中,我們將使用帶有基本情況和遞迴情況的遞迴。
演算法
步驟 1 − 使用內部函式定義使用者定義的 factors 函式。
步驟 2 − 程式執行將從 main 函式開始。main() 函式控制整個程式。它被寫成 main = do。
步驟 3 − 初始化名為“num”的變數。它將儲存要列印所有因子的數字。
步驟 4 − 使用 'print' 函式在函式呼叫後將給定數字的所得因子列印到控制檯。
示例 1
在這個例子中,我們將瞭解如何使用列表推導式顯示數字的所有因子。
factors :: Integer -> [Integer] factors n = [x | x <- [1..n], n `mod` x == 0] main :: IO () main = do let num = 24 print (factors num)
輸出
[1,2,3,4,6,8,12,24]
示例 2
在這個例子中,我們將瞭解如何使用 filter 函式顯示數字的所有因子。
factors :: Integer -> [Integer] factors n = filter (\x -> n `mod` x == 0) [1..n] main :: IO () main = do let num = 24 print (factors num)
輸出
[1,2,3,4,6,8,12,24]
示例 3
在這個例子中,我們將瞭解如何使用遞迴顯示數字的所有因子。
factors :: Integer -> [Integer] factors n = factors' n 1 factors' :: Integer -> Integer -> [Integer] factors' n i | i > n = [] | n `mod` i == 0 = i : factors' n (i+1) | otherwise = factors' n (i+1) main :: IO () main = do let num = 24 print (factors num)
輸出
[1,2,3,4,6,8,12,24]
結論
在 Haskell 中,可以使用列表推導式、filter 函式或遞迴將數字的因子顯示到控制檯。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP