该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

前几天在微博上看到24点的游戏,6 6 6

10。算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的所有可能的表达式组合,然后计算表达

式是否等于24,如果是的话就找到了答案。但我花了一晚的时间都没有写出程序来…第二天我改变了思路,这也是从一些答案里得到的灵感。例如

一个3 8 3 8,它的答案是 3/(3 –

8/3)。要得到24这个答案,大笨兔想如果答案的第一个数是3,那么它要加多少,减多少,乘多少,除多少才是24?这样我们就把就24的问题转换成了规

模更小的问题,我们就这样求下去,直到最后一个数字,然后判定是否是正确答案。我使用[code lang="js"]

typedef struct EXPREESSIONG{

float numbers[4];

char operation[4];

}exp;

[/code]来

保存一个表达式,numbers数组保存4个操作数,operation保存3个操作符。这里数字我使用float保存,以前使用的是int,但我发现

3/5的值是0。于是就改成了float,不过这里也会有一个问题,比如程序读入 5 5 5 1 是得不到答案的。但是它确实有答案5/(5 –

1/5)。后来调试了才发现了一个问题:如果我定义两个变量float number1,number2,分别赋值 number1 = 1.0,number2 = 5.0;然后判断 1.0/5.0 == numbers1/number2 。这个表达式的值是0(在我的cfree上是这么多)。[code lang="js"]

#include <stdio.h>

int main()

{

float number1,number2;

number1 = 1.0;number2 = 5.0;

printf("%d\n",(1.0/5.0) == (number1/number2));

return 0;

}

[/code]输出0。但是你将5.0改成2.0的话它的值又是1.所以我的程序在这里就不灵了,我不是太清楚浮点数的运算会不会使精度减少。(这是一个需要解决的问题),但是我的递归程序逻辑是正确的。程序的源码在这里:点击下载http://download.csdn.net/detail/dabentuaipangou/4409732。

(全文完)

24点游戏c语言去除重复,C语言解24点游戏程序相关推荐

  1. abap语言去除重复项怎么写

    在ABAP语言中,可以使用内置函数DISTINCT去除重复项.下面是一个简单的例子: DATA:BEGIN OF lt_data OCCURS 0,field1 TYPE string,field2 ...

  2. c语言怎样进行文件复制,C语言文件复制实例详解

    C语言文件复制实例详解 文件复制,在Linux中,将生成的read.o 重新文件拷贝一份复制到ReadCopy.o中,并且更改ReadCopy.o文件的操作权限.使其能够正常运行. 实例代码: #in ...

  3. R语言dplyr包distinct函数去除重复数据行实战

    R语言dplyr包distinct函数去除重复数据行实战 目录 R语言dplyr包distinct函数去除重复数据行实战 #导入dplyr包 #仿真数据

  4. r语言 去除双引号_tidyfst vs pandas(12):去除重复条目

    作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量.机器学习.数据可视化.应用统计建模.知识图谱等,著有& ...

  5. R语言 数据清洗 重复值所在的行 重复 的筛选与去除,唯一ID出现重复 no重复处理

    住院号 姓名 等唯一值变量的检查与筛选 重复值所在的行 使用本地数据 鸢尾花(yuān wěi huā)做示例 [R语言][数据清洗]重复ID数据获取比对 #加载内置数据 data(iris) dat ...

  6. c语言猜拳游戏中出现的关键词,C语言猜拳游戏代码及分析

    赋值操作符.比较操作符.算术操作符.逻辑操作符.位域操作符,如"="."+="">="."<="." ...

  7. c语言五子棋开题报告,基于VC的五子棋游戏的设计与实现(附答辩记录)

    基于VC的五子棋游戏的设计与实现(附答辩记录)(包含选题审批表,任务书,开题报告,中期检查报告,毕业论文12300字,程序) 摘 要:以计算机技术和网络技术为核心的现代网络技术已在现实生活和生产中得以 ...

  8. php 处理二维数组(去除重复项,排序,转换,去空白等)

    技巧提示: array_keys($array) //返回所有键名array_values($array) //返回所有键值 $result=array_reverse($input); //将数组颠 ...

  9. C语言贪吃蛇游戏代码,贪吃蛇C语言代码实现大全

    一.C语言贪吃蛇代码实现前言 设计贪吃蛇游戏的主要目的是让大家夯实C语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言. 贪吃蛇是非常经典的一款游戏,本次我们模拟在控制台实现贪吃蛇游戏, ...

最新文章

  1. 思谋科技A轮融资超1亿美元 ,成为最年轻“准独角兽”AI企业
  2. Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示
  3. vue 圆形 水波_vue项目百度地图+echarts的涟漪水波效果
  4. Stateflow_after计时计数
  5. Linux Ftrace介绍与原理
  6. python 生成器 迭代器 区别_Python生成器和迭代器的区别
  7. javascript实现的时钟
  8. Ubuntu安装Flash Player
  9. 飞客分析:防止数据二次破坏的保护方法
  10. python微信数据解密-dat文件转图片(支持JPG,PNG,GIF)
  11. matlab 文本框方向,ppt文本框文字方向为所有文字旋转的设置方法
  12. php无法运行,php不执行是什么原因造成的
  13. Linux下文件的压缩、解压缩、打包以及提取
  14. HDU 6441 Find Integer(数论)
  15. 【独立站运营】在线聊天机器人为何能成为电商行业的大趋势?
  16. 推断统计学 假设检验 显著性检验 第一类错误 第二类错误
  17. VIC运行笔记2019.05.01
  18. 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 5 章 答案
  19. 微信公众号开发系列之发送红包-java版本
  20. 【VBA】使用ReadTXT功能,读取巨大文件的加速方法

热门文章

  1. BRCM5.02编译四: ERROR: lzo/lzo1x.h development library is required for build
  2. Linux驱动调试中的Debugfs的使用简介
  3. Linux系统中的防火墙的实现:iptables/netfilter
  4. AWS Elastic Block Store和Simple Storage Services区别
  5. 一款超级简单的瀑布流的制作
  6. 教程-Delphi中Spcomm使用属性及用法详解
  7. Linux_Command
  8. jquery技巧(持续更新。。)
  9. [转]javascript中style.left和offsetLeft的使用
  10. Wcf 接收对http://*.*.*.*的的 HTTP 响应时发生错误... 的解决方法