最近接触到 BrainFuck
在学校闲着无聊打发时间把加减乘除的运算方法都手写了一遍。
发现实现减法、乘法和除法特别冗长复杂。
(一部分原因也是我太懒不想优化指针的移动次数以及格数(狗头)
乘法和除法还有减法都是暴力穷举方法运算,从 1 开始猜,猜到对为止,所以遇到大数字会很复杂。
各位 v2er 们有没有更好的解决思路,请求指点。
1
geelaw 2020-09-19 12:02:23 +08:00 via iPhone
为什么你的减法和加法区别那么大……
减法显然是 ,>,[-<->],两个数反复同时减 1 乘法只要反复做加法即可 >,>,< 读入因数到 2 3 [- >[->+<<<+>>] 移动 3 到 4 并累加到 1 >[-<+>]<< 移动 4 到 3 ] >[-] 清空 3 带余除法可以反复做减法实现,不过要麻烦一些 |
2
geelaw 2020-09-19 12:04:18 +08:00 via iPhone
看了一下原来你的乘法和我的思路一样 - -
|
3
VioletTec OP @geelaw 啊这,我走极端了,还以为减法很复杂,一时间脑子没转过来(哭)
感谢提供的除法可以取余的算法的思路,回来去玩一玩。 |
4
VioletTec OP |