【发布时间】:2010-12-20 20:08:57
【问题描述】:
我有这个问题,我必须“审核”我的交易百分比。
如果百分比是 100,我必须全部审核,如果是 0,我必须全部跳过,如果 50% 我必须检查一半等等。
问题(或机会)是我必须在运行时执行检查。
我尝试的是:
audit = 100/percent
所以如果百分比是 50
audit = 100 / 50 ( which is 2 )
所以我必须审核 1 并跳过 1 审核 1 并跳过 1 ..
如果是 30
审计 = 100 / 30 ( 3.3 )
我审核 2 并跳过第三个。
问题
我遇到了超过 50%(比如 75%)的数字问题,因为它给了我 1.333,...
什么时候才是正确的算法来知道要审计多少?...我也有 0 的问题(由于除以 0 :P),但我已经解决了这个问题,还有 100 等等。
非常感谢任何建议。
【问题讨论】:
-
首先,在您的“审核 30%”示例中,您最终将审核 33% 您审核的所有交易是否必须均匀分布?还是所有交易都来自列表的头部(例如,如果您必须审核 30%,您可以只审核前 30% 的交易吗?
-
number_of_items = (percent) * (total_number_of_items) 其中百分比为 [0,1](因此,如果您有 [0,100],则除以 100)。
-
一般审计应该是随机的。您的算法不是随机的,可能很容易被规避。如果您在金融环境中使用它,您应该调整您的算法。
标签: c# java python algorithm language-agnostic