24点算法(24点算法代码)

圈圈笔记 73

分享一个用scratch编写的24点计算,scratch最大的缺点是程序文件不是纯文本的。源码参见https://github.com/code-fans/scratch/tree/master/%E5%AD%A6%E4%B9%A0%E4%B8%8E%E7%BB%83%E4%B9%A0/%E7%AE%97%E6%B3%95%E4%B8%8E%E8%AE%BE%E8%AE%A1 , 还有一个Java版本的算法,参见4个数计算24点算法。

获取用户输入

获取用户输入数据,用户按顺序输入四个数字分别存储在A、B、C、D四个变量中,并调用24点计算积木块(函数)。

获取用户输入的4个数字

图片中还包括一个回溯清空栈的积木块和显示积木块(加入结果集)。

四个数计算24点函数

对四个数进行排列,并没有真正的计算,代码有点复杂是因为排重,不过这个排重好像有时还有问题,求高手改进。

四个数计算24点函数

这是四个数计算24点的真正算法,通过插入不同的符号计算结果。但是只计算一步得到三个数,再调用三个数计算24的积木块。

四个数计算24点

三个数计算24点

和四个数类似,也分两部分,一部分排序,一部分计算一个步四则运算得到两个数。

三个是计算24点-排列

三个数计算24点

两个数计算24点

两个数计算24点是最后一步了,验证结果是否等于24,如果相等,将结果添加到结果列表中。

两个数计算24点。

添加结果到结果列表

最后一步将结果算式添加到结果列表中,每一个算法应该有三个算式。

添加符合要求的表达式

测试与验证

输入一组数字5、6、9、9,验证一下程序执行结果,一共得到三个算法。

测试结果

总结

用scratch来做算法类程序,还是可行的,就是写起来比较累,没有代码类语言方便(java版本的24点算法),对小孩子来说其实也蛮难理解的。

上一篇:

下一篇:

  推荐阅读

分享