找到方程的数学算法

2024-01-05

我刚刚在 math.stackexchange 上发布了一个数学问题,但我会向这里的人们询问一个以编程方式递归的算法。

问题:填入从 1 到 9 的空白数字(每个空白一次且仅一次)以完成方程。

附加条件:

1. Mathematic priority DOES matter. 
2. All numbers (include evaluation result) should be integers.
Which mean the divide should be divisible (E.g. 9 mod 3 = 0 is OK, 8 mod 3 != 0 is not OK).
3. For those who don't know (as one in the original question), the operations in the diagram are: 
+ = plus; : = divide; X = multiple; - = minus.

应该有超过 1 个答案。我想要一个递归算法来找出所有的解决方案。

原问题 https://math.stackexchange.com/questions/1288170/just-a-3rd-grade-math-problem-in-my-country-please-help

PS:我想了解一下递归算法,性能改进。我试图用暴力来解决这个问题。我的电脑冻结了很长一段时间。


你必须找到正确的排列

9! = 362880

这不是一个很大的数字,您可以按以下方式进行计算:

isValid(elements)
    //return true if and only if the permutation of elements yields the expected result
end isValid

isValid是验证器,它检查给定的排列是否正确。

calculate(elements, depth)
    //End sign
    if (depth >= 9) then
        //if valid, then store
        if (isValid(elements)) then
            store(elements)
        end if
        return
    end if
    //iterate elements
    for element = 1 to 9
        //exclude elements already in the set
        if (not contains(elements, element)) then
            calculate(union(elements, element), depth + 1)
        end if
    end for
end calculate

Call calculate如下:

calculate(emptySet, 1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找到方程的数学算法 的相关文章

  • 协作投票算法的用户分布

    我的应用程序 实际上是一个游戏 的用户回答问题即可获得积分 问题由其他用户提供 由于数量有限 我无法亲自检查所有内容 因此我决定将过滤过程众包给用户 玩家 规则很简单 每个用户都会看到一个问题来评价好 坏 不确定 当问题被评为 差 5 次时
  • 四舍五入到最接近的 2 的幂

    是否有一个单行表达式 可能是布尔值 来获取最接近的2 n给定整数的数字 示例 5 6 7 必须是 8 四舍五入到下一个更高的二的幂 参见一些小技巧 http graphics stanford edu 7Eseander bithacks
  • SQL Server:如何从递归函数内执行更新?

    我有一个递归标量函数 需要根据它返回的值更新另一个表中的记录 但是函数中不允许使用 UPDATE 语句 如何从函数内更新表 不允许使用 UPDATE 语句 功能 这就是规则 函数不允许有任何数据更改的副作用 您必须使用存储过程来UPDATE
  • 为什么 C# 默认不使用算术溢出检查? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么语言默认情况下不会引发整数溢出错误 https stackoverflow com questions 103654 why dont languages raise errors on int
  • 将平面表解析为树的最有效/优雅的方法是什么?

    假设您有一个存储有序树层次结构的平面表 Id Name ParentId Order 1 Node 1 0 10 2 Node 1 1 1 10 3 Node 2 0 20 4 Node 1 1 1 2 10 5 Node 2 1 3 10
  • 匈牙利算法 - 系统分配

    我正在一个项目中实现匈牙利算法 我设法让它工作 直到所谓的步骤 4维基百科 http en wikipedia org wiki Hungarian algorithm Matrix 5Finterpretation 我确实设法让计算机创建
  • 位图中连续区域的计数是否可以比 O(r * c) 改进?

    您将获得一张由卫星拍摄的表面图像 该图像是一个位图 其中水用 标记 土地标记为 相邻组 形成一个岛屿 二 如果它们水平 垂直或对角相邻 则它们是相邻的 您的任务是打印位图中岛屿的数量 输入示例 输出 5 这是我的实现 需要O r c 空间和
  • 递归分层父子

    我有一个来自数据库的项目集合 该数据库具有parentid值或空 这是我的班级设计 public class Item public int id get set public string Name get set public int
  • 如何在 Perl 中生成数组的所有排列?

    生成所有内容的最佳 优雅 简单 高效 方式是什么 n perl 中数组的排列 例如 如果我有一个数组 arr 0 1 2 我想输出所有排列 0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0 它可能应该是一个返回迭代器的
  • 准备与大数据相关的设计和架构问题的最佳方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 根据 cron 规范计算下一个计划时间

    在给定当前时间和 cron 规范的情况下 计算事件下一次运行时间的有效方法是什么 我正在寻找 每分钟循环检查是否符合规范 以外的东西 规格示例可能是 每月1日 15日15 01 每小时整点的 10 20 30 40 50 分钟 Python
  • 将数字 1 排列在二维矩阵中

    给定二维矩阵的行数和列数 初始矩阵所有元素均为0 给定每行中应该出现的 1 的数量 给定每列中应该出现的 1 的数量 确定是否可以形成这样的矩阵 例子 Input r 3 c 2 no of rows and columns 2 1 0 n
  • 我想知道像tineye.com这样的反向图像搜索服务是如何工作的......?

    像 TinEye 这样的反向图像搜索引擎如何工作 我的意思是进行图像搜索需要哪些参数 不知道 TinEye 是否使用这个 但是SURF http en wikipedia org wiki SURF是用于此目的的常用算法 在这里您可以看到一
  • 高效编写航空公司路由算法

    Given 航班数据库 出发城市 到达城市 出发时间 到达时间 问题 如果出发时间不重要 那么在两个城市之间列出服务的最有效算法是什么 考虑到我们想要最小化中途停留时间 但仍高于标称最小值 即 20 分钟 并最小化中途停留次数 如果有直达航
  • Haskell 乘加运算的数学性能

    我正在用 Haskell 编写一个游戏 我当前在 UI 上的传递涉及大量几何图形的程序生成 我目前专注于识别一项特定操作的性能 C ish 伪代码 Vec4f multiplier addend Vec4f vecList for int
  • STL 哈希函数

    STL 是否有公开公开的可用哈希函数 我知道有一些使用哈希值的非标准实现 例如boost hash map 并且MSVC8实现了hash map hash set 等的版本 但有没有哈希函数C 98 STL 中定义的 如果不是 可靠哈希函数
  • Racket:识别尾递归?

    我在球拍中编写了两个不同的函数来确定数字列表是否升序 define ascending list if lt length list 1 t and lt car list car cdr list ascending cdr list d
  • 快速找到一个数字的下一个倍数的方法

    我需要找到从基数开始的数字的第一个倍数 例如 7 中 3 的第一个倍数是 9 我的第一次尝试是这样做 multiple baseNumber while multiple number 0 multiple 最后 multiple 将具有第
  • 拉伸数组

    我有一个形成曲线的样本向量 假设其中有 1000 个点 如果我想将其拉伸到填充 1500 个点 给出不错结果的最简单算法是什么 我正在寻找一些只有几行 C C 的东西 我总是想增加向量的大小 并且新向量可以是当前向量大小的 1 1 倍到 5
  • 如何反转音量滑块的音量数学?

    我正在构建一个视频播放器 但有点卡在音量滑块部分 这是一个 YouTube 风格的垂直滑块 这意味着如果滑块位于顶部位置 音量应该为 100 如果滑块拖动到底部位置 声音应该为 0 目前它的做法与我想要的相反 向下拖动滑块将使声音变大 向上

随机推荐

  • 达到虚拟实时时间限制(178/120秒)

    我使用的是ubuntu 16版本并运行Odoo erp系统12 0版本 在我的应用程序日志文件中 我看到信息显示 已达到虚拟实时时间限制 178 120 秒 它到底意味着什么以及它会对我的应用程序造成什么损害 另外我如何增加虚拟实时限制 它
  • 无法加载本机 TensorFlow 运行时。原因:未找到图像。我究竟做错了什么?

    在配备四核 I7 和 NVIDIA GeForce GT 650M 的 Macbook Pro 上运行 从 virtualenv 运行 Tensorflow 时收到此错误消息 我做错了什么 我使用的是 protobuf 版本 3 2 0 t
  • 在没有 BindingSource 的情况下使用 BindingNavigator

    我有一个在数据库中完成分页的应用程序 也就是说 检索项目列表的调用包括页码 页面大小 并且将仅返回该页面的数据 例如 ItemCollection items ListAllItems 1 20 page 1 show 20 items p
  • Visual Studio 2010 RC 中的 IntelliSense 冻结

    每次我尝试编写一些内容时 IntelliSense 都会冻结 Visual Studio 我必须等待大约 2 分钟才能显示代码完成列表 我能使用的唯一方法就是完全关闭它 我已经安装了 Microsoft 的最后一个 IntelliSense
  • 如何在 Django 中为(基于类的)通用对象列表创建过滤器表单?

    我正在使用 Django 1 3 的基于类的通用视图来显示图像列表 但我想添加一个过滤器 使用户能够缩小显示结果的范围 我目前的方法有效 但感觉很黑客 class ImageFilterForm ModelForm class Meta m
  • 如何:优化 Symfony 表单的性能?

    我有一个表单 它是我的 ajax 请求的瓶颈 order this gt getDoctrine gt getRepository AcmeMyBundle Order gt find id order order order new Or
  • 在 data.table 中添加具有条件的虚拟对象?

    抱歉问了这么长的问题 我会尽力明确我的目标 我想使用 update 方法在 data table 中添加虚拟对象 就像这已经在此链接中得到回答 https stackoverflow com questions 18881073 creat
  • 如何将字节字符串转换为int?

    如何在Python中将字节字符串转换为int 像这样说 y xcc xa6 xbb 我想出了一个聪明 愚蠢的方法 sum ord c lt lt i 8 for i c in enumerate y xcc xa6 xbb 1 我知道必须有
  • UIScrollView 中缩放核心图形

    当我使用 UIScrollView 中的 UIView 子类进行放大时 我想知道哪种方法是缩放 Core Graphics 绘图的最佳方法 目前 当我放大时 绘图变得有点模糊 我知道这是正确的功能 我只是想知道开发人员如何覆盖它以保持图像清
  • android:textColor 实际上不起作用

    I have an Edittext in my application I have set it s default color to black in the following manner in the XML android t
  • .o、.a 和 .so 文件之间有什么区别?

    I know o是目标文件 a是静态库和 so是动态库吗 它们的物理意义是什么 我什么时候可以使用一些 什么时候不能使用 a是一个 档案 尽管存档可以包含任何类型的文件 但在 GNU 工具链的上下文中 它是一个目标文件库 其他工具链 特别是
  • 将整数数组编码为唯一的 int

    我有固定数量的 int 数组 其形式为 a b c d e 例如 2 2 1 1 2 where a and b可以是 0 到 2 之间的整数 c and d可以是 0 或 1 并且e可以是 0 到 2 之间的整数 因此有 3 3 2 2
  • 如何在远程unix服务器上查看html文件?

    我目前在远程 unix 服务器上有一个 html 文件 我可以通过 ssh 连接到该服务器 我一直在使用 SFTP 不断地将其传输到本地计算机以在编辑后查看它 但我对此感到厌倦 Mac 用户获得存储在远程 unix 服务器中的 html 文
  • 如何在 Ubuntu 21.10 上安装 python 3.6?

    由于 Ubuntu 21 10 和通常的版本不再支持 python 3 6deadsnakes方法也行不通 它给出以下错误 E The repository http ppa launchpad net deadsnakes ppa ubu
  • 如何使用反射 (Java) 调用私有静态方法?

    我想调用一个私有静态方法 我有它的名字 我听说可以使用Java反射机制来完成 我该怎么做 EDIT 我在尝试调用该方法时遇到的一个问题是如何指定其参数的类型 我的方法接收一个参数 其类型是 Map 因此我不能做Map
  • 设计限制每个用户一次只能进行一个会话

    我的应用程序使用 Rails 3 0 4 和 Devise 1 1 7 我正在寻找一种方法来阻止用户共享帐户 因为该应用程序是基于订阅的服务 我已经寻找了一个多星期了 但我仍然不知道如何实施解决方案 我希望有人已经实施了解决方案并能为我指明
  • Spring/Hibernate 延迟加载需要帮助

    我知道这个问题已经讨论过很多次了 我只是不明白这是如何工作的或者我的错误在哪里 我认为给你一个简化的例子是向你展示我正在尝试做的事情以及我正在采取的假设的最佳方式 我有一个带有名称的产品类 该名称是一个惰性的 String 属性 My DA
  • JavaFX TextArea onChange 事件

    开发者们美好的一天 JavaFX 组件 TextArea 是否支持某些事件 例如 onTextChange 或类似事件 是的 我知道 keyPressed keyTyped 但是如果另一个 操作 在 TextArea 上发生更改 例如 tx
  • 将输入整数写入单元格

    我自己正在编写一个快速应用程序 第一个项目 但是我试图找到用于将输入字符串的结果写入 Excel 中的命名单元格的 VBA 代码 例如 输入框询问问题 您想将哪个工作编号添加到列表中 然后用户将输入参考编号 例如 FX1234356 然后
  • 找到方程的数学算法

    我刚刚在 math stackexchange 上发布了一个数学问题 但我会向这里的人们询问一个以编程方式递归的算法 问题 填入从 1 到 9 的空白数字 每个空白一次且仅一次 以完成方程 附加条件 1 Mathematic priorit