24点游戏python编程代码和运行结果_关于24点游戏的编程思路与基本算法1

关于

24

点游戏的编程思路与基本算法

设计思路

在算

24

点时候,我的第一反应便是穷举法!在算

24

点时候,我的思路就

是列出

4

个数字加减乘除的各种可能性,

包括括号的算法。

我们可以将表达式分

成以下几种:首先我们将

4

个数设为

a

b

c

d

,其中算术符号有

+

-

*

/

其中有效的表达式有

a

ab-cd

,等等。列出所有有效的表达式。其中我们用枚举

类型将符号定义成数字常量,比如用

1

表示

+

2

表示

-

等。如下是我对穷举法的

一种编程语言。在编程的头部要对变量做下定义。

在输入数字前我做了定义,因为题目规定是

1-10

内不相同的数字。所以我

if

if((a==b)||(a==c)||(a==d)||(b==c)||(b==d)||(c==d)||(a<0)||(a>10)||(b<0)||(b>10)||(c<0)||(c

>10)||(d<0)||(d>10))

则输入非法。当输入合法时,我就在想,

4

个数都有各自的排

列,所以运用数学的排列组合来算的的,分别是

A44=24

种组合,打个比方,我

入、

、输入

a

b

c

d

,那么就有

abdc,badc,bacd``````

24

种不同的组合,在这

里我就不一一列举,在源代码当中我会一一写在程序里。

在运算时,我开始想,得从括号分类起,有零括号的,一个括号的,两个括号

的。

以下是表达式,当然,

*

并不是

×

*

只是符号的统称。

零个括号的:

a*b*c*d

一个括号的:

(a * b * c) * d

a * (b * c) * d

两个括号的:

(a * b) * (c * d)

(a * b) * c) * d

a * (b * c)) * d

接下来就是对每一种进行分析判断。

以上就是穷举法的基本实现算法

首先穷举的可行性问题。我把表达式如下分成三类:

1

列出四个数的所有排序序列组合(共有

A44=24

种组合)

2

构筑一个函数,列出所有运算表达式。

3

输入数据计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值