求助:用C++编程,且要求程序里要有类
设有一个长度为N的数字串,要求使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。
不要老想别人会帮你将代码写出来,别人也是要学习或者工作的,下面将思路给出来,自己好好想想。
要想乘机最大,乘号后面的数字就要最大。
添加n个*的步骤以6571792为例:
先添第一个,找到最大的数字--9,在前边添上*,变成65717*92了
然后添第二个,找到第二大的数字--7有两个,怎么办?就要这样看了:
(从做到右)第五个7,后面就是*了,所以这个7可以看作是7.0,(从做到右)而第三个7后面有17,然后才是*,所以这个7相当于7.17,因为7.17> 7所以要在第三个7前加
以后就类推了。