Math 自动向数学运算字符串随机添加括号?

Math 自动向数学运算字符串随机添加括号?,math,Math,你有没有办法自动随机地给数学运算字符串加上括号 比如说 给定的操作字符串: 57 x 40-14+84÷19 我需要在上面的字符串中自动随机添加括号 因此,它变成: (57 x 40)-14+(84÷19)或 (57 x 40)-(14+84÷19)或 57 x(40-14)+(84÷19)或 57 x(40-14+84÷19)或 57 x(40-(14+84)÷19) 非常感谢你的帮助 Mick,如果你将数学表达式作为字符串处理,你可以随机添加括号(例如),然后。我假设有三件事: 数字和运算符

你有没有办法自动随机地给数学运算字符串加上括号

比如说

给定的操作字符串:

57 x 40-14+84÷19

我需要在上面的字符串中自动随机添加括号

因此,它变成:

(57 x 40)-14+(84÷19)或

(57 x 40)-(14+84÷19)或

57 x(40-14)+(84÷19)或

57 x(40-14+84÷19)或

57 x(40-(14+84)÷19)

非常感谢你的帮助


Mick,

如果你将数学表达式作为字符串处理,你可以随机添加括号(例如),然后。

我假设有三件事:

  • 数字和运算符之间总是有空格字符
  • 所有数字都是整数(您可以轻松地将其更改为其他类型)
  • 不是数字的东西都是算符
  • C#中的示例:

    Math m=new Math();
    管柱p=m.DoStuff(“57 x 40-14+84÷19”);
    控制台写入线(p);
    课堂数学
    {       
    内部管柱DoStuff(管柱p)
    {
    bool isParOpen=false;
    随机rnd=新随机();
    StringBuilder结果=新建StringBuilder();
    int i;
    字符串[]堆栈=p.Split(“”);
    foreach(堆栈中的变量项)
    {
    if(内部三分之一(项目,输出i))
    {
    如果(rnd.Next(2)==1)
    {
    Append(isParOpen?string.Format(“{0})”,item:string.Format(“({0}”,item));
    isParOpen=!isParOpen;
    }
    其他的
    {
    结果。追加(项)。追加(“”);
    }
    }
    其他的
    {
    结果。追加(项)。追加(“”);
    }
    }
    如果(isParOpen)
    {
    结果。追加(“)”;
    }
    返回result.ToString();
    }
    }
    
    哪种编程语言,您尝试过什么,等等。随机选择一个运算符,左右移动,直到得到一个随机数为止。随机重复。问题是什么?您是否考虑过选择每对数字并对其执行每个操作以生成4组n-1数字,然后重复该操作,直到获得所有可能的结果?或者你真的需要每个可能的字符串加括号吗?谢谢你的帮助,Tschareck!非常感谢。米克,