鱼C论坛

 找回密码
 立即注册
楼主: zhangjinxuan

[已解决]24点题目,求助大佬,要写程序!

[复制链接]
发表于 2022-12-2 08:48:24 | 显示全部楼层

那现在是找到dfs剪枝的方法,或者不用枚举,不然肯定过不了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 08:49:08 | 显示全部楼层
tommyyu 发表于 2022-12-2 08:45
我又算了一下,也就大概444426393600次,4千亿

我还要确保6个数字以内的跑起来在200ms之内,因为之后要做训练器,8个数字不管他,毕竟,谁都不会傻傻乎乎训练8个数字吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-2 08:50:00 | 显示全部楼层
zhangjinxuan 发表于 2022-12-2 08:49
我还要确保6个数字以内的跑起来在200ms之内,因为之后要做训练器,8个数字不管他,毕竟,谁都不会傻傻乎 ...

六个数只有20995200次,这个不会超
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 08:52:17 | 显示全部楼层
tommyyu 发表于 2022-12-2 08:50
六个数只有20995200次,这个不会超

嗯,也对,或者我把用户输入的数字限制调小点,毕竟,真正用8个数字的人很少

但是,题目做的出来吗,这一次我真的不想叨叨什么了,就来做这道题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-2 08:52:53 | 显示全部楼层
zhangjinxuan 发表于 2022-12-2 08:52
嗯,也对,或者我把用户输入的数字限制调小点,毕竟,真正用8个数字的人很少

但是,题目做的出来吗, ...

不知道,试试吧,感觉这是一个比较简单一点的方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 08:55:03 | 显示全部楼层
tommyyu 发表于 2022-12-2 08:48
那现在是找到dfs剪枝的方法,或者不用枚举,不然肯定过不了

不是,我在枚举算式的时候就Over了,因为我程序搞出来的算式必须从左往右才能算出24,也就正如您说的,有些算式必须不能从左往右计算才能得到24,就比如说5 5 5 5,这就是其中一组hack我程序的一组数据

程序第一步就倒下了,这不就类似于从头开始吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 08:55:33 | 显示全部楼层
tommyyu 发表于 2022-12-2 08:52
不知道,试试吧,感觉这是一个比较简单一点的方法

来吧,敲一敲
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-2 09:13:15 | 显示全部楼层
zhangjinxuan 发表于 2022-12-2 08:55
不是,我在枚举算式的时候就Over了,因为我程序搞出来的算式必须从左往右才能算出24,也就正如您说的,有 ...

比如3 8 1
首先选两个数,有三种选择方法,3、8    3、1    8、1
以选了3、8为例,此处有六种运算方式
38+、38-、38*、38/、83-、83/
在这里为了节省篇幅,以38+为例
则此时只有两个元素,11和1,此时又有6种方法
38+1+、38+1-  38+1*  38+1/  138+-  138+/
将它们分别展开,就是3+8+1、3+8-1、(3+8)*1、(3+8)/1、1-(3+8)、1/(3+8)
按以上方法枚举即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 09:14:52 | 显示全部楼层
tommyyu 发表于 2022-12-2 09:13
比如3 8 1
首先选两个数,有三种选择方法,3、8    3、1    8、1
以选了3、8为例,此处有六种运算方式
...

有点道理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 09:21:05 | 显示全部楼层
tommyyu 发表于 2022-12-2 09:13
比如3 8 1
首先选两个数,有三种选择方法,3、8    3、1    8、1
以选了3、8为例,此处有六种运算方式
...

那么 5 5 5 5 怎么表示呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-2 09:22:12 | 显示全部楼层
zhangjinxuan 发表于 2022-12-2 09:21
那么 5 5 5 5 怎么表示呢

可以在每一个数字前都加一个~符号,方便读取
~5~5+这样就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 09:23:34 | 显示全部楼层
tommyyu 发表于 2022-12-2 09:22
可以在每一个数字前都加一个~符号,方便读取
~5~5+这样就可以了


不是,5 5 5 5 的正确表达式为 5 5 * 5 5 / - 对吧,但是这个表达式会被搜到吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-2 09:31:19 | 显示全部楼层
zhangjinxuan 发表于 2022-12-2 09:23
不是,5 5 5 5 的正确表达式为 5 5 * 5 5 / - 对吧,但是这个表达式会被搜到吗?

会的。
第一步,假设程序选择5 5,并选择*,及5 5*
第二步,此时有25 5 5三个元素,若程序选择了5 5,并相除,则有25 1(5 5*    5 5 /)
第三步,如果程序选择了相减,则得到24,即为 5 5 * 5 5 / -
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 09:33:52 | 显示全部楼层
tommyyu 发表于 2022-12-2 09:31
会的。
第一步,假设程序选择5 5,并选择*,及5 5*
第二步,此时有25 5 5三个元素,若程序选择了5 5, ...

还是有点迷糊,因为一个数字他是怎么得到的该如何表示?这样,你先写出来吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-2 09:39:32 | 显示全部楼层
zhangjinxuan 发表于 2022-12-2 09:33
还是有点迷糊,因为一个数字他是怎么得到的该如何表示?这样,你先写出来吧

这个程序的大致思路是选两个数并进行运算

我应该写不了快期末了,还要复习,这个周末还有一个周测
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 09:40:17 | 显示全部楼层
tommyyu 发表于 2022-12-2 09:39
这个程序的大致思路是选两个数并进行运算

我应该写不了快期末了,还要复习,这个周末还有一 ...

好吧,这几天我思索思索
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-2 17:05:58 | 显示全部楼层
题目链接?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 17:10:31 | 显示全部楼层

没链接,自己造的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-2 17:12:13 | 显示全部楼层


本来想在网上搜个答案凑个巧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 17:13:41 | 显示全部楼层
高山 发表于 2022-12-2 17:12
本来想在网上搜个答案凑个巧


你真行啊

网上的都是4个数字,这个是3~8个数字网上基本搜不到

点评

咱去问问:  发表于 2022-12-2 17:28
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 13:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表