24点算法的Java和C语言源码.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
24点算法的Java和C语言源码

24点算法的Java版和C语言版源码 Java版共2个类:Application.java 和 Node.java == Application.java== package num24; public class Application { double num[] = new double[4]; boolean mark[] = new boolean[4]; /** * 获得k个数运算,结果为result的第一个Node,比如get(24,4) * @param result * @param n * @return */ public Node get(double result, int n) { Node left = null, right = null; if (n = 0) { return null; } //如果个数小于0,返回空 for (int i = 0; i 4; i++) { if (mark[i]) { continue; //如果已经打上标志,继续找下一个 } mark[i] = true; //如果没有打标志,就打上标志,并且对其进行处理 //如果只有一个数并且这个数就是给出的结果,就返回一个只有一个数的节点 if (result == num[i] n == 1) { return new Node(num[i]); } left = get(result - num[i], n - 1); if (left != null) { return new Node(0.0, +, left, new Node(num[i])); } left = get(result + num[i], n - 1); if (left != null) { return new Node(0.0, -, left, new Node(num[i])); } left = get(result * num[i], n - 1); if (left != null) { return new Node(0.0, /, left, new Node(num[i])); } if (Math.abs(num[i]) 1e-10) { left = get(result / num[i], n - 1); if (left != null) { return new Node(0.0, *, left, new Node(num[i])); } } for (int j = 0; j 4; j++) { if (mark[j]) { continue; } mark[j] = true; if (result == num[i] * num[j] n == 2) { //a*b return new Node(0.0, *, new Node(num[i]), new Node(num[j])); } left = get(result + num[i] * num[j], n - 2); //a*b-(c?d)=result if (left != null) { right = new Node(0.0, *, new Node(num[i]), new Node(num[j])); return new Node(0.0, -, left, right); } left = get(result - num[i] * num[j], n - 2); //a*b+(c?d)=result if (left != null) { right = new Node(0.0, *, new Node(num[i]), new Node(num[j])); return new Node(0.0, +, left, right); } if (Math.

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档