【发布时间】:2012-05-22 06:05:37
【问题描述】:
我正在用 c# 实现一个有购物车的网站。
假设我的数据库中有这些产品
产品 A 价格 50
产品 B 价格 50
产品 C 价格 50
产品 D 价格 50
用户可以将这些产品添加到他的购物车。
现在有一个报价正在运行。 用户可以购买 3 件产品 A 或产品 B(这些产品的任意组合 - 产品 A 的示例 2 和产品 B 的 1 或产品 A 的所有 3 件),他将免费获得一件。
(所以在这个例子中,如果他买了 3 件,他必须支付 100,4 然后支付 150 和 5 件,然后他必须支付 200,6 件也支付 200)
我如何获得算法\伪代码来实现这个?
人的问题在于产品可以按任何顺序添加,例如产品按此顺序添加
A,A,A
或
2A,B
或
A,C,D,B,A
或
A,C,C,A
2A 表示他在一个动作中添加了 2 件产品 A。 (在最后一种情况下,他不会利用那个提议)
请告诉我解决这个问题的最简单方法是什么? 任何人都可以指出一些解决此类问题的代码
【问题讨论】:
-
还有一个复杂的问题。还有另一套优惠,如果您购买 5 of A,那么您将免费获得 2。
标签: c# algorithm shopping-cart