双人项目---多项式的生成

需求中规定---只能出现不多于十个的运算符

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的可能性加入括号

有前括号的情况下只能有后括号

反过来也成立

那么就不难得出,可以随机生成括号的多项式的算式了

再就是,为了简化运算,尽量不要让‘/’ ‘^’后有括号。

猜你喜欢

转载自www.cnblogs.com/P814264306/p/9165926.html
今日推荐