5%的时间执行一行代码(处理中)[关闭]

问题描述 投票:-3回答:1

我正在尝试实现我的处理代码,以使该行代码不会运行该行代码应运行的总次数的5%。但关键的附加点是,该行将不运行的实例应该是不可预测的(随机)。

例如,假设代码要运行20次。我希望代码不在20个实例之一中运行。这一实例占总数(20)的5%[1/20 = 5%]。这必须是随机的,以便例如在20的第一次迭代中,代码不在第三次试用中运行,而在第二次迭代中,该行不在第十次试用中运行。

这是插图:

[第一次迭代:[1、2、3(不运行),4、5、6、7、8、9、10、11、12、13、14、15、15、16、17、18、19, 20]第二次迭代:[1、2、3、4、5、6、7、8、9、10(不运行),11、12、13、14、15、16、17、18、19、20]第三次迭代:...

我在下面编写了伪代码,但想知道是否有更好的方法可以做到这一点。

create an array [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] 

take a number out of a set randomly and if the number is NOT 1:
    println("run")    
    get rid of the selected number within an array
if the set is empty, get a new set
algorithm pseudocode
1个回答
-1
投票

例如,您可以创建一个简单的forloop:

    for (i=1 ; i<= 20 ; i++) {
        if (i==1) {
          println("run")
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.