我看到了您的BIDMAS,并提出了BADMIS
挑战
给定一组数字,它们之间有一个运算符:“ 5 + 4 * 9/3-8”,对于基本运算顺序的每个排列:[/,*,+,-],返回表达式的所有可能结果。
规则
- 禁止标准漏洞
- 输入输出
- 输入必须使用中缀操作进行排序,但这是最简单的(字符串或数组)
- 您不需要支持一元运算符(例如“ -3 * 8 / +2”)
- 对于隐式解析类型的语言(例如45⟶45.0),可以用浮点数代替整数
- 输出必须是表达式的所有可能结果,没有指定的格式或顺序
- 所有输入均有效(例如,无需处理“ 7/3 + *”)。这也意味着您将永远不需要除以零。
- 运算符都是左关联的,因此“ 20/4/2” =“(20/4)/ 2”
- 这是Code Golf,因此赢得最少的字节数
测试用例(附说明)
- “ 2 + 3 * 4” = [14,20]
- 2 +(3 * 4)⟶2 +(12)⟶14
- (2 + 3)* 4⟶(5)* 4⟶20
- “ 18/3 * 2-1” = [11,2,6]
- (((18/3)* 2)-1⟶((6)* 2)-1⟶(12)-1⟶11
- (18/3)*(2-1)⟶(6)*(1)⟶6
- (18 /(3 * 2))-1⟶(18 /(6))-1⟶(3)-1⟶2
- 18 /(3 *(2-1))⟶18 /(3 *(1))⟶6
- 18 /(((3 * 2)-1)⟶18/5⟶3.6
测试用例(无说明)
- “ 45/8 + 19/45 * 3” = [6.891666666666667,18.141666666666666,0.11111111111111113,0.01234567901234568,0.01234567901234568,5.765740740740741]
- “ 2 + 6 * 7 * 2 + 6/4” = [112 196 23 87.5]
2
顺便说一句,不错的第一个挑战。
—
毛茸茸的
建议的测试用例
—
Jo King
2 - 3 + 4
=>[-5, 3]
建议的测试用例:
—
Arnauld
2*3-6+2-9/6*8+5/2-9
,给出24个不同的结果。