Haskell程序:从有理数中获取分子


在Haskell中,我们可以使用numerator、div、quot和gcd函数从给定的有理数中找到分子。在第一个例子中,我们将使用numerator(r)函数;在第二个例子中,我们将使用(n `div` gcd n d)函数;在第三个例子中,我们将使用(numerator r `quot` gcd (numerator r) (denominator r))函数。

算法

  • 步骤1 − 导入Data.Ratio模块以使用numerator函数。

  • 步骤2 − 程序执行将从main函数开始。main()函数控制整个程序。它写成main = do。它调用带有有理数的numerator函数并打印分子。

  • 步骤3 − 命名为“r”的变量被初始化。它将保存要打印其分子的有理数值。

  • 步骤4 − 函数调用后,使用‘putStrLn’语句将结果分子值打印到控制台。

示例1

在这个例子中,我们将看到如何从有理数中获取分子。这可以通过使用numerator函数来实现。

import Data.Ratio

main :: IO ()
main = do
   let r = 3 % 4
   let num = numerator r
   putStrLn $ "The numerator of " ++ show r ++ " is: " ++ show num

输出

The numerator of 3 % 4 is: 3

示例2

在这个例子中,我们将看到如何从有理数中获取分子。这可以通过使用div和gcd函数来实现。

import Data.Ratio

getNumerator :: Rational -> Integer
getNumerator r = n `div` gcd n d where
   n = numerator r
   d = denominator r

main :: IO ()
main = do
   let r = 3 % 4
   let num = getNumerator r
   putStrLn $ "The numerator of " ++ show r ++ " is: " ++ show num

输出

The numerator of 3 % 4 is: 3

示例3

在这个例子中,我们将看到如何从有理数中获取分子。这可以通过使用quot和gcd函数来实现。

import Data.Ratio

getNumerator :: Rational -> Integer
getNumerator r = numerator r `quot` gcd (numerator r) (denominator r)

main :: IO ()
main = do
   let r = 3 % 4
   let num = getNumerator r
   putStrLn $ "The numerator of " ++ show r ++ " is: " ++ show num

输出

The numerator of 3 % 4 is: 3

结论

有理数的分子是分数的顶部部分。换句话说,它是被分母除的数字。

在Haskell中,要获取给定有理数的分子,我们可以将gcd函数与div或quot函数一起使用。也可以使用numerator函数获得。

更新于:2023年3月13日

浏览量:133

开启您的职业生涯

完成课程获得认证

开始学习
广告