- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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.
您可能关注的文档
- 2013商业地产开发基础知识与策划定位.ppt
- 2013广州4A 中国年轻人创意大赛招商方案 - 广州市广告行业协会.pptx
- 2013康龙休闲鞋官方微博运营方案.ppt
- 2013基本能力复习体育与健康复习学案.doc
- 2013德阳桃花巷旧改项目定位报告暨招商规划和物业发展建议.doc
- 2013店长岗位实训.ppt
- 2013新课标高考地理二轮50天复习指导资料.doc
- 2013新课标高三物理一轮复习课件:33牛顿运动定律的综合应用.ppt
- 2013春新版新目标英语七下Unit10 I’d like some noodles Section A 课件.ppt
- 2013朗讯CDMA项目网优数据操作手册--参数具体位置及修改办法.doc
最近下载
- 普契尼歌剧《修女安杰丽卡》中咏叹调《没有妈妈》的音乐与演唱探析.pdf VIP
- SOP--药物临床试验急救预案.docx VIP
- 《技术转移》课件.ppt VIP
- 自动生成钻孔柱状图表格.xls VIP
- 2025年借条模板(精选20篇) .pdf VIP
- 2025年机动车检验机构内审检查表(依据评审准则和补充技术要求) .pdf VIP
- 2023ESC急性冠脉综合征管理指南(完整版).pdf
- 2025美国急性冠脉综合征(ACS)患者管理指南解读课件PPT.pptx
- 《设计小房子》教案-2024-2025学年教科版(2024)小学科学二年级上册.docx VIP
- 《夜晚的月亮》教案-2024-2025学年教科版(2024)小学科学二年级上册.docx VIP
文档评论(0)