Skip to content

00ll00/Mexpr

Repository files navigation

梗型表达式生成器

宫廷玉液酒, 大锤加大锤加小锤除以(大锤除以小锤) 一杯

介绍

用于使用给定的一系列基础元素运算方法生成指定范围内的整数的表达式(至少一个),通常生成的表达式仅包含最少次数的运算。

例如给定元素如下:

  • 小锤 = 40
  • 大锤 = 80
  • 宫廷玉液酒 = 180

指定使用运算方法为{加, 减, 乘, 除, 模},生成范围为 [0,100],则可以为50生成表达式(宫廷玉液酒减大锤)除以(大锤除以小锤)

默认提供了下列运算方法:

  • 加 (+)
  • 减 (-)
  • 乘 (*)
  • 除 (/) (不会生成非整除的情况)
  • 模 (%) (不会生成负数模运算)
  • 位与
  • 位或
  • 位异或

代码见Mexpr.kt

使用示例

...
45 -> (7 + 2) * 5
46 -> 7 * 7 - 3
47 -> 7 * 7 - 2
48 -> (5 | 7 * 7) ^ 5
49 -> 7 * 7
50 -> 5 * 5 * 2
51 -> 7 * 7 | 2
52 -> 7 * 7 + 3
53 -> 7 * 7 | 5
54 -> 7 * 7 ^ 7
55 -> 7 * 7 | 7
...
  • 小锤 = 40
  • 大锤 = 80
  • 宫廷玉液酒 = 180
...
45 -> 宫廷玉液酒除以((大锤加大锤)除以小锤)
46 -> (大锤加小锤)除以(宫廷玉液酒模小锤)加小锤
47 -> 小锤加(宫廷玉液酒减小锤)除以(宫廷玉液酒模小锤)
48 -> 小锤加(大锤加大锤)除以(宫廷玉液酒模小锤)
49 -> 小锤加宫廷玉液酒除以(宫廷玉液酒模大锤)
50 -> (宫廷玉液酒减大锤)除以(大锤除以小锤)
51 -> (宫廷玉液酒减宫廷玉液酒除以(宫廷玉液酒模小锤))模(大锤加小锤)
52 -> 小锤加宫廷玉液酒模(小锤加大锤除以小锤)
53 -> 宫廷玉液酒加(小锤减宫廷玉液酒)除以(宫廷玉液酒模大锤)减(大锤加小锤)
54 -> 宫廷玉液酒模((大锤加小锤)除以小锤加大锤)加小锤
55 -> (宫廷玉液酒减宫廷玉液酒除以((大锤加大锤)除以小锤))模大锤
...
  • 👆 = 1
  • ✌ = 2
  • 🖐 = 5
  • 🤙 = 6
  • 🤞 = 10
  • 👉👈 => ()
...
45 -> 👉🤞➖👆👈✖🖐
46 -> 🤞➕🤙✖🤙
47 -> 🤞✖🖐➖👉🖐➖✌👈
48 -> 🤞✖🖐➖✌
49 -> 🖐✖🤞➖👆
50 -> 🤞✖🖐
51 -> 🖐✖🤞➕👆
52 -> 🤞✖🖐➕✌
53 -> 👉🤙➕🤞✖🤞👈➗✌
54 -> 🤞✖🤙➖🤙
55 -> 🤞✖🖐➕🖐
...

你可以在浏览器控制台或Node.js中输入表达式进行测试。为什么会这样:zhuangbility, wtfjs

...
45 -> (~{}+~[]+~{}+~{})*([]+~[]+-~[]-[])-~[]
46 -> (~{}+~{})*([]+(~{}+~{})+(-~{}-~{}-~[])-[])
47 -> ~{}+([]+~{}+-[]+-[]-[])/(~[]+~{})+~[]+~[]
48 -> ([]+~{}+(-~[]-~{})-[])*(~{}+~{}+~[]+~{})
49 -> ([]+~{}+-[]+-[]-[])/(~[]+~[])+~{}
50 -> ([]+~{}+-[]+-[]-[])/(~[]+~{})
51 -> []+(-~[]-~{}-~[]-(~[]+~{}))+-~[]-[]
52 -> []+(-~[]-~{}-~[]-(~[]+~[]))+(-~[]-~{})-[]
53 -> ~{}+([]+~{}+-~{}+-[]-[])/(~[]+~[])+~{}
54 -> ([]+~[]+-~[]+-[]-[])/(~[]+~{})+~[]
55 -> ([]+~[]+-~[]+-[]-[])/(~[]+~{})
...

About

宫廷玉液酒,一百八一杯

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages