需求中规定---只能出现不多于十个的运算符
1.那么进行随机数,对整个算式的长度进行规定与限制
随机:
单纯的rand()会返回一个0至RAND_MAX之间的随机数值,而RAND_MAX的值与int位数有关,最小是32767。不过rand()是一次性的,因为系统默认的随机数种子为1,只要随机数种子不变,其生成的随机数序列就不会改变。
其实,对于rand()的范围,我们是可以进行人为设定的,只需要在宏定义中定义一个random(int x)函数,就可以生成范围为0至x的随机数值。当然,也可以定义为random(a,b),使其生成范围为a至b的随机数值。具体定义方法在通式部分。
然后就是每一个数字的选择:
也进行随机数对多样性进行进一步的拓展
依旧用rand()
再就是每一个括号:
在每一个区间,都已1/2的可能性加入括号
有前括号的情况下只能有后括号
反过来也成立
那么就不难得出,可以随机生成括号的多项式的算式了
再就是,为了简化运算,尽量不要让‘/’ ‘^’后有括号。