一道算法题,Python或C/C++或Java实现
跪求算法的实现{:1_919:} 本帖最后由 gzq830510 于 2022-6-21 11:07 编辑
这道题编程不知道怎么处理,但纯数学上分析的话,由于股票数量是总量限制,而每股购买金额是独立限制,因此采取按每股收益从高到低排列(C > D > B > A)尽可能买满(买到9万)的总体策略就可以达到收益最大
具体分析过程就是三楼那样啦,C买满是3000股,D买满1000股,剩下4000股全买B,收益2.6万。
不过这样投资基本上只考虑了每股收益和总额限制,没考虑每元收益……实际上不一定是最优的。
P.S.: 补充了一个程序,不过感觉程序没起什么大作用,基本上都是上面数学分析出来的……Stock_Dict = {'A':, 'B':, 'C':, 'D':}
Total_Shares = 8000
Investment_Limit = 90000
c = 0
Max_Profit = 0
#按每股收益排序
Pri_Dict = sorted(Stock_Dict.items(), key=lambda item: item, reverse=True)
for d in Pri_Dict:
if c < Total_Shares:
#quantity是该股实际购买数量
quantity = min(Total_Shares - c, Investment_Limit/d)
Max_Profit += d * quantity
c += quantity
else:
break
print(Max_Profit) 这个简单,把钱转我.一年之后按照你想要得预期年收益返还给你. 这样实现共赢. 你看咋样.{:1_926:} 感觉这个题有漏洞呢?限制条件不多;
我是这么考虑的,每元的收益差别很大,分别为(元收益/元投入):0.15;0.13;0.167;0.03;
第一支股票按照四支股票中收益最大=购买C,3000股
第二支股票按照剩余三支股票中单股收益最大=购买D,1000股
第三支股票按照剩余两只股票中固定数量收益最大=购买B,4000股
最终收益为26000元 landem 发表于 2022-6-20 19:59
感觉这个题有漏洞呢?限制条件不多;
我是这么考虑的,每元的收益差别很大,分别为(元收益/元投入):0. ...
那i请问如果是算法应该怎么实现呢{:1_919:} 工商学院的? 套公式就行吧?我记得我学精算的时候 有这种类似的题 不知道有没有算错{:1_904:} emmm 如果 我全买 A8000股,花费 80000元 (小于9万),获得收益 12000元
也就是80k得到12k
而如果按3楼计算的话240k得到26k
正要是放在现实生活中 全买A不是更划算
{:1_918:} 果然出题人 没考虑全啊为了出题而出题
soraing 发表于 2022-6-20 20:11
那i请问如果是算法应该怎么实现呢
我也想知道,感觉跟鸡兔同笼很想,条件却又不够,如果有了的话麻烦楼主d一声。感谢!
页:
[1]
2