代码


#include <cstdio>
#include <cmath>
#define EPS 1e-8
using namespace std;double a[4];bool judge(double a[], int n)
{if (n == 1){if (fabs(a[0]-24) <= EPS) return 1;else return 0;}double b[4];for (int i = 0; i < n-1; ++i)for (int j = i+1; j < n; ++j){int rem = 0;for (int k = 0; k < n; ++k)if (k != i && k != j) b[rem++] = a[k];b[rem] = a[i] + a[j];if (judge(b, rem+1)) return 1;b[rem] = a[i] - a[j];if (judge(b, rem+1)) return 1;b[rem] = a[j] - a[i];if (judge(b, rem+1)) return 1;b[rem] = a[i] * a[j];if (judge(b, rem+1)) return 1;if (fabs(a[j]) > EPS){b[rem] = a[i] / a[j];if (judge(b, rem+1)) return 1;}if (fabs(a[i]) > EPS){b[rem] = a[j] / a[i];if (judge(b, rem+1)) return 1;}}return 0;
}int main()
{while(~scanf("%lf%lf%lf%lf", &a[0], &a[1], &a[2], &a[3]) &&(a[0] || a[1] || a[2] || a[3]))judge(a, 4) ? printf("YES\n"): printf("NO\n");return 0;
}

说明


  • 输入四个数,输出是否能算出24
  • 允许出现分数/负数
  • 比较浮点数是否相等不能用==

【递归练习】算24点相关推荐

  1. 用Python算24点

    小外甥女的课后作业是算24点,看了一下题目,发现都挺难的,像下面这些: 7 7 3 3 8 8 3 3 5 5 5 1 1 5 7 10 2 5 5 10 只能用加减乘除,算出24点. 发现心算不容易 ...

  2. Bailian2787 算24【DFS】(POJ NOI0205-1789)

    问题链接:POJ NOI0205-1789 算24. 2787:算24 描述 给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式.现在的问题是,是否存在一种方 ...

  3. HDU1427 速算24点【DFS】

    速算24点 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  4. Pygame实战:家里的小孩数学算数能力很差嘛?别慌—这款“巧算24点小游戏”等你来玩,管用。

    导语 哈喽!每日游戏更新系列--木木子又来啦!今天讲一个大家都很熟悉的游戏! 我第一次玩24点是初中的时候,那时候和堂弟表哥在堂妹家玩,堂妹提出玩24点游戏,堂妹比我 们小三岁,可能正在上小学吧. 拿 ...

  5. 速算C语言程序设计,C语言程序设计课程设计-速算24.doc

    该设计论文已经通过各大高校老师审核认可并通过答辩,准确完整无误.欢迎大家下载学习交流.如有疑问可随时联系店主,竭诚为您解答!! 应用技术学院 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 ...

  6. python二十四点_Python秒算24点,行还是不行?

    周末闲来无事,看到隔壁家的老王在和隔壁家的媳妇玩24点,就进屋看了看.发现老王是真不行啊,那不行,这也不行. 就连个24点都玩不过他媳妇,给他媳妇气的,啥都不能满足,这不能,那也不能. 我坐下来和他媳 ...

  7. POJ3983 快算24【暴力】

    快算24 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5375   Accepted: 3245 Description ...

  8. 24速算c语言实训报告ppt,C语言课程设计(速算24).doc

    <> 课程设计报告 速算24专业:计算机科学与技术班级:姓名:指导教师:成绩: 计算机与信息工程系 二0一四年二月二十日 目录 1.该系统的功能描述.................... ...

  9. 爪哇国新游记之二十一----快算24

    四张牌,通过四则运算得到24,一个数限用一次,快者为胜. 代码: import java.util.ArrayList; import java.util.HashSet; import java.u ...

  10. HDU 1427 速算24点(dfs)

    Description 速算24点相信绝大多数人都玩过.就是随机给你四张牌,包括A(1),2,3,4,5,6,7,8,9,10,J(11),Q(12),K(13).要求只用'+','-','*','/ ...

最新文章

  1. 如何将一个彩色图像转换成黑白图像
  2. opencv基础小程序大集合
  3. centos7 keepalived安装记录
  4. latex的 多行注释_Latex图形注释的实现方法
  5. 程序员过关斩将--从未停止过的系统架构设计步伐
  6. 基金委通报科研诚信违规违纪案件查处情况
  7. 阿里云 MVP技术直播——缪政辉教你如何搭建万能LNMP环境
  8. java maven导入导出_Java +EasyUI+SpringMvc实现Excle导入导出(上)
  9. JStorm—实时流式计算框架入门介绍
  10. 5、UmbracoNewsSite:添加css和js文件
  11. Opencv3 Robert算子 Sobel算子 拉普拉斯算子 自定义卷积核——实现渐进模糊
  12. Java同步数据结构之Collection-Queue
  13. linux代码诊断有没有link,Linux下判断网线是否插入的代码
  14. 思科网络技术学院教程:企业中的路由和交换技术简介第十章实验总结
  15. 图像二值化方法及适用场景分析(OTSU Trangle 自适应阈值分割)
  16. vue02——vue中v-XXX指令
  17. php抢购问题,PHP并发抢购解决方案
  18. 职业生涯规划之自我探索论文
  19. 这些东西不宜空腹吃[转]
  20. typeScript interface和type区别

热门文章

  1. 论文笔记:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
  2. Pytorch 中的 forward理解
  3. 走进JavaWeb技术世界9:Java日志系统的诞生与发展
  4. 代码练习——数组_实战
  5. 文本框失去焦点事件、获得焦点事件
  6. 北斗导航 | EagleEye2000:国产激光雷达走进测绘世界
  7. 厉害了,苹果应用内购买抽成半年狂赚49亿美元
  8. Vant_根据已有地址获取code
  9. Zotero 知网文章不能转成pdf 的解决办法。
  10. Codeforces Round #469 (Div. 1 A-E)