如何在 Haskell 中将小数解析为有理数?

2023-12-19

我一直在参加编程竞赛 http://codeforces.com/contest/105 and 问题之一 http://codeforces.com/contest/105/problem/A' 输入数据包括十进制格式的小数:0.75就是一个例子。

将其解析为Double是微不足道的(我可以使用read为此),但精度的损失是痛苦的。需要非常小心Double比较(我没有),这似乎是多余的,因为有人RationalHaskell 中的数据类型。

当尝试使用它时,我发现read a Rational必须提供以下格式的字符串:numerator % denominator,显然我没有。

所以,问题是:

将分数的十进制表示解析为最简单的方法是什么Rational?

外部依赖项的数量也应该考虑在内,因为我无法将额外的库安装到在线判断中。


你想要的功能是Numeric.readFloat:

Numeric Data.Ratio> fst . head $ readFloat "0.75" :: Rational
3 % 4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Haskell 中将小数解析为有理数? 的相关文章

  • Haskell 中的分类结构

    Hask通常被认为是一个范畴 其对象是类型 态射是函数 然而 我看到 Conor McBride pigworker 警告不要使用Hask多次 1 https stackoverflow com a 45905082 474311 2 ht
  • 使用 TStringList 的分隔符解析字符串,似乎也解析空格(Delphi)

    我有一个简单的字符串 由某个字符分隔 比如说逗号 我应该能够创建一个 TStringList 并将其分隔符设置为逗号 然后将 DelimitedText 设置为我想要解析的文本 并且应该自动解析它 问题是 当我查看输出时 它还包含空格作为分
  • 使用 Javascript 解析文本

    我正在尝试使用 Javascript 来解析在文本框中输入的文本 这将结合各种用户生成的变量来创建随机活动 看看这个例子可能更有意义 一些示例输入可能是 Activity Home Out Home Read book for time C
  • 使用 FoldLine 解析多个块

    对于这个简化的问题 我试图解析一个如下所示的输入 foo bar baz quux woo hoo xyzzy glulx into foo bar baz quux woo hoo xyzzy glulx 我尝试过的代码如下 import
  • iOS 解析如何通过 URL 下载文件

    我正在将 parse 用于我的聊天应用程序 当我上传文件时 我保留该 url 并将该 url 发送给其他用户 然后其他用户可以通过该 URL 下载文件 这是我上传文件的代码 void uploadBlob NSData blob fileN
  • 用 C++ 生成 AST

    我正在用 C 制作一个解释器 到目前为止我已经有了词法分析器来生成标记 问题是我不确定如何生成 行走 解析树 我正在考虑使用数组数组来制作解析树 但我不确定如何以正确的顺序将标记实际插入到解析树中 我不确定是自上而下 左右还是自下而上 左右
  • python 3 argparse 调用函数

    我想在 python3 中创建一个类似命令行 类似 shell 的界面 Argparse 似乎负责解析和显示帮助 错误消息 根据argparse 的 python3 文档 https docs python org 3 5 library
  • 在Python中连续解析文件

    我正在编写一个脚本 该脚本使用 HTTP 流量行解析文件 并取出域 目前仅将它们打印到屏幕上 我正在使用 httpry 将流量连续写入文件 这是我用来删除域名的脚本 usr bin python import re input open r
  • 将 Java 字符串转换为 sql.Timestamp

    收到以下格式的字符串 YYYY MM DD HH MM SS NNNNNN 时间戳来自 DB2 数据库 我需要将其解析为 java sql Timestamp 并且不丢失任何精度 到目前为止 我一直无法找到现有的代码来解析远至微秒的数据 S
  • 无论如何要抓取重定向的链接吗?

    无论如何 我可以让 python 单击一个链接 例如 bit ly 链接 然后抓取生成的链接吗 当我抓取某个页面时 我唯一可以抓取的链接是重定向的链接 它重定向到的位置就是我需要的信息所在的位置 重定向有 3 种类型 HTTP 作为响应标头
  • Magento - 将特定父类别的子类别列为链接

    我是 php 的初学者 并且一直试图将一个父类别的子类别作为链接调用 我得到了这个 它调出了 getName 但 getUrl 根本没有返回任何 URL 输出代码只是 li a href name of sub a li
  • PHP解析xml文件错误

    我正在尝试使用 simpleXML 来获取数据http rates fxcm com RatesXML http rates fxcm com RatesXML Using simplexml load file 我有时会遇到错误 因为这个
  • Haskell:IORef 的性能

    我一直在尝试在 Haskell 中编码一个需要使用大量可变引用的算法 但与纯粹的惰性代码相比 它 也许并不奇怪 非常慢 考虑一个非常简单的例子 module Main where import Data IORef import Contr
  • : 中缀运算符在 Haskell 中的作用是什么?

    我正在阅读Haskell 简要介绍 http www haskell org tutorial index html 这不是那么温和 并且它反复使用 操作符而不直接解释它的作用 那么 它到底有什么作用呢 是 前置 运算符 x xs 返回一个
  • 这个对自身单位的列表理解是如何工作的?

    在 haskell IRC 频道中有人问 是否有一种简洁的方法来定义一个列表 其中第 n 个条目是之前所有条目的平方和 我认为这听起来像一个有趣的谜题 递归定义无限列表是我真正需要练习的事情之一 所以我启动了 GHCi 并开始尝试递归定义
  • Haskell 输入返回元组

    我想知道 IO 函数是否可以返回元组 因为我想从这个函数中获取这些元组作为另一个函数的输入 investinput IO gt Char Int investinput do putStrLn Enter Username username
  • 位图内存不足错误

    我对这个错误有疑问 我从 URL 制作网站图标解析器 我这样做是这样的 public class GrabIconsFromWebPage public static String replaceUrl String url StringB
  • 检查对以下内容的理解:“变量”与“变量” “价值”、“功能”与“抽象”

    这个问题是后续问题this one https stackoverflow com questions 25327705 is function a sort of variable 25329157 25329157在学习 Haskell
  • ST monad 是如何工作的?

    我知道 ST monad 有点像 IO 的弟弟 而 IO 又是添加了状态 monadRealWorld魔法 我可以想象状态 也可以想象 RealWorld 以某种方式放入 IO 中 但每次我写一个类型签名ST the sST monad 的
  • 如何打乱列表?

    如何从一组数字 1 2 3 直到我击中x 我的计划是重新调整列表 1 2 3 并把它砍在x chopAt 3 2 3 1 2 3 chopAt 3 2 1 3 2 1 3 chopAt 3 3 1 2 3 chopAt chopAt x y

随机推荐

  • 使用 JS 计算两个值之间的色差/相似度%

    我需要计算两个十六进制颜色值之间的差异 因此输出是百分比值 我放弃的第一件事是将十六进制值转换为十进制 因为第一个值的权重比最后一个值高得多 第二个选项是计算每个 RGB 值之间的差异 然后将它们全部相加 然而 之间的区别0 0 0 and
  • 如何在iPhone上进行捏合手势?

    如何在 iPhone 上实现捏合手势 我熟悉在 iPhone 上使用触摸事件 但我非常懒 不想为像捏手势这样广泛使用的东西重新发明轮子 源代码或链接会很有帮助 您需要使用一些基本的数学知识自己实现它 void touchesBegan NS
  • 当视图控制器推到导航控制器上时,后退按钮不可见

    当点击单元格时 我使用导航控制器深入查看详细视图 当我将视图控制器推入导航控制器堆栈时 我希望看到一个后退按钮 可以点击该按钮将前一个视图从堆栈中弹出 问题是后退按钮不可见 但是当点击它时shouldbe 让我回到之前的视图 有什么问题 确
  • .NET Framework - 可能存在内存泄漏的类?

    就在前几天 我正在调查内存泄漏 该泄漏在不到两分钟的时间内使应用程序从约 50MB 膨胀到约 130MB 事实证明问题出在并发队列 http msdn microsoft com en us library dd267265 aspx班级
  • 选择选项使用 JQUERY 通过文本获取值[重复]

    这个问题在这里已经有答案了 我有 html 选择 下拉菜单 其中包含许多填充选项 我还有一个包含许多名称的表格 旁边有按钮 我需要当您按下任何名称旁边的按钮时 就会在选择框 下拉列表 中选择该名称 选项值是 id 选项文本是名称 例子 Na
  • 是否可以序列化 Ace Session 对象?

    我想序列化并存储 Ace Session 对象 这样我就可以打开一个 文件 并恢复所有内容 值 选择 光标位置 模式等 我试过了JSON stringify session 它会抛出一个循环错误 有任何想法吗 最简单的版本是 var ses
  • 有没有办法在 C# 5 中模仿 C# 6 空条件运算符

    我遇到一种情况 我需要在对象初始值设定项内分配一些对象的属性 其中一些对象可以为 null 我需要访问它们的属性 问题是它们太多 并且使用 if else 东西不好 Example visits visitJoins AsEnumerabl
  • Mersenne Twister 跨编译器的再现性[重复]

    这个问题在这里已经有答案了 我正在使用 std mt19937 64 生成随机数序列 我注意到 当在同一平台上使用相同的种子运行 GCC 和 Clang 时 我获得了不同的序列 我通过 Valgrind 运行该程序 发现没有未初始化的内存
  • conda 返回“解决环境:失败”

    我无法再使用 conda 实用程序 多年来我经常使用它 但最近 因为我安装了 python 模块scp 使用命令conda install scp 我不知道这是否重要 没有任何明显异常的情况 只要我使用 conda 无论命令如何 我都会收到
  • 使用 Node.js 实时抓取网页

    好处是使用 Node js 抓取网站内容 我想构建一个非常非常快的东西 可以以以下方式执行搜索皮划艇网站 http www kayak com 其中一个查询被分派到多个不同的站点 结果被抓取 并在可用时返回给客户端 我们假设这个脚本应该只提
  • 使用 printf() 将字符串居中

    默认情况下 printf 似乎将字符串向右对齐 printf 10s 20s 20s n col1 col2 col3 col1 col2 col3 我还可以像这样将文本向左对齐 printf 10s 20s 20s col1 col2 c
  • 对 Rcharts 使用百分比宽度

    我想知道如何使用 而不是 px 设置 rChart 的宽度 我在源代码中注意到它默认为像素 我试图在一个闪亮的应用程序中使用它 并且用图表修复似乎是一个问题 因为它们不随用户界面的其余部分扩展 有没有解决的办法 这应该被视为黑客攻击 因为两
  • Rails 有内置的分页解决方案吗?

    我注意到分页宝石就像mislav will paginate很受欢迎 这是因为Rails没有内置的分页解决方案还是因为内置的解决方案不是很好 在 Rails 2 0 中 ActionController 的分页功能被删除 并变成了一个名为
  • C 中的原子读取

    根据C 对 int 的读写是原子的吗 https stackoverflow com questions 54188 are c reads and writes of an int atomic 由于处理器缓存的问题 整数的读取 因此指针
  • 为什么 Python 脚本可以在 CLI 中运行,但在 cron 作业调用时却不能运行?

    我创建了一个 Python 脚本 我想通过 Ubuntu 服务器上的 cronjob 每天运行它 这是从命令行运行该脚本的方式 python home username public html IDM app manage py clean
  • 增强多索引容器的模板参数

    我需要创建一个包含多索引容器作为存储的通用类 当我编译时 它给出如下错误 其中我定义了第 n 个索引视图 错误 非模板 nth index 用作模板 connection manager 模板 类 conn mgr boost noncop
  • 实体框架从 6.1.x 升级到 6.2.0 会破坏某些查询,除非我启用 MARS

    我最近在我们的一个大型项目中将 EF 6 1 3 升级到 6 2 0 它破坏了我们大量的 LINQ 查询 启用 MultipleActiveResultSets 会使一切再次正常工作 但我很难理解这种变化 我们已经使用 EF 多年 并且经历
  • Three.js 中的剪辑是自动完成的吗?

    所以 我正在阅读有关剪辑的内容this http en wikipedia org wiki Clipping 28computer graphics 29维基百科文章 这似乎对所有游戏都非常重要 所以 我是否必须这样做 还是由 Three
  • GDB:在每一步后禁用当前行的打印

    GNU gdb 命令行调试器在每次执行后打印当前所在的行step and next命令 考虑以下 gdb 会话 我在其中单步执行一些代码 Temporary breakpoint 1 main argc 1 argv 0x7fffffffd
  • 如何在 Haskell 中将小数解析为有理数?

    我一直在参加编程竞赛 http codeforces com contest 105 and 问题之一 http codeforces com contest 105 problem A 输入数据包括十进制格式的小数 0 75就是一个例子