下面有几道智力题,看看你在不看答案的情况下能答对几道?如果确实不知道答案可以参考下面的答案哦!
如何移动一根火柴使等式成立
2.如何移动两根火柴使等式成立
3.如何移动两根火柴使等式成立
4.如何移动一根火柴使等式成立
5.如何移动一根火柴使等式成立
近日在观看某短视频软件时,发现某些用户直播移动火柴游戏,笔者有时会很快找出方法,有时却毫无头绪,如5+7=9,怀疑无解,故以此编程。
题目给出一个十位数以内的自然数加减算式,三个数都为0-9可用火柴表示的单个数字,如:
题目要求为移动一根火柴使原错误等式成立,如6-6=3,即可移动6上一根火柴,使6变为9,满足题意。
要求输入一个等式,输出满足题意的所有等式,若无,则输出无解。
由于游戏中,三个数字和运算符号也可以移动,所以考察当将数字i变为j时,针对这个数字,火柴变动的最少个数即为移动数,而变动后所多余或所缺失的火柴数目为缺余量,定义正数为多余量,负数为缺失量。
如:数字3变为数字9,至少需要移动1根火柴,而这一根火柴数字3没有,缺一根,故由3到9的变化中,移动数为1,缺余量为-1。
为了计算缺余量和移动数,笔者将火柴数字图中七个火柴位置编码,由低位到高位如图,得到了从数字0到数字9的二进制数组:
缺失量=组成数字i的火柴数 - 组成数字j的火柴数。
移动数=组成i,j火柴数较大的那个 - i,j公共火柴部分。
此处做了算法的延伸,可解决移动多根火柴的问题。
//计算改变自身的移动数和多余量的和即为移动木柴数 //计算改变自身的移动数和多余量的和即为移动木柴数最后测试5+7=9确实无解,短视频误人。
把这根移到九的左下角变成86-76=1
我是想移动一个放在“一”上,变成十。这样我就可以再移动9个,等式就变得简单了
我是想移动一个放在“一”上,变成十。这样我就可以再移动9个,等式就变得简单了
我是想移动一个放在“一”上,变成十。这样我就可以再移动9个,等式就变得简单了
我是想移动一个放在“一”上,变成十。这样我就可以再移动9个,等式就变得简单了
难道你没有发现,那个一去掉还是放在那,那句话的意思都没有什么变化吗
难道你没有发现,那个一去掉还是放在那,那句话的意思都没有什么变化吗
倒过来,7的横移到上面,1=97-96
倒过来,7的横移到上面,1=97-96
把手机倒过来拿然后观察一下发现,把7那根火柴放下来就是1=97-96
把手机倒过来拿然后观察一下发现,把7那根火柴放下来就是1=97-96
好家伙 广东本来挺热的,被你一整我穿长袖
好家伙 广东本来挺热的,被你一整我穿长袖
一开始还没反应过来,哈哈哈哈哈
一开始还没反应过来,哈哈哈哈哈
很简单,把第二个6左下移动(6变5),斜放到7(7变9),看图
很简单,把第二个6左下移动(6变5),斜放到7(7变9),看图