问题描述:在123456789这9个数字中间插入任意多个+和-的组合,使得表达式的值为100,输出所有符合条件的表达式。

基本思路:9个数字之间共有8个可插入加号或减号的位置,根据这些位置对9个数字进行切分和分组,这可以通过组合来实现。对于每个切分的组合,在切分处插入加号或减号,这可以通过排列来实现。

技术要点:Python标准库itertools中的组合函数combinations()和排列函数permutations()。

参考代码:

Python查找所有类似于123-45-67+89 = 100的组合_gpu

运行结果:

Python查找所有类似于123-45-67+89 = 100的组合_无监督学习_02