#B20241004. 表达式求值

表达式求值

题目描述

给定一个仅包含数字 1199 的字符串 SS,请在 SS 中分别插入 11 个加号( +)、22 个加号。 注: 1)加号不能出现在 SS 中第一位数字的前面或者最后一位数字的后面; 2)两个加号的位置不能相邻。 插入加号后的字符串可以看做是一个加法表达式, 请找出所有可能出现的表达式,并输出所有表达式结果的总和。

11:S = "1234";分别在字符串 "1234" 中插入 11 个加号、22 个加号,插入加号的表达式如下: 1)当插入 11 个加号时,表达式有 1 + 234、12 + 34、123 + 4,计算结果依次为 2352354646127127; 2)当插入 22 个加号时,表达式有 1 + 2 + 34、1 + 23 + 4、12 + 3 + 4,计算结果依次为 373728281919; 这些结果的总和为 492492(235 + 46 + 127 + 37 + 28 + 19)。

22:S = "111",分别在字符串 "111" 中插入 11 个加号、22 个加号,插入加号的表达式如下: 1)当插入 11 个加号时,表达式有 1 + 11,11 + 1,计算结果依次为 12121212; 2)当插入 22 个加号时,表达式有 1 + 1 + 1,计算结果为 33; 这些结果的总和为 2727( 12 + 12 + 3)。

输入格式

输入一个仅包含数字 1199 的字符串 SS(3≤S 的长度≤15)。

输出格式

输出一个整数,表示所有可能出现的表达式的结果的总和。

1234
492