В PHP, если я создаю заводскую программу контроля с конвейерной лентой, где всплывающий список на форме 100% (не проверяйте ничего - пусть все проходит) до 0% (проверяйте все), какова функция вычисления, когда один из виджетов должен быть проверен?Вычисление коэффициентов дросселей в PHP
Немного дополнительной информации - этикетка говорит: «Пусть виджеты [x%] проходят без проверки».
Более того, как мы можем протестировать ваш алгоритм, чтобы доказать его правильность? Например, значение 100%, запускаемое 99999 раз, не должно показывать никаких проверок. Значение 99%, запустившееся 99999 раз, должно показывать одну проверку в синей луне, если она повторяется повторно. Значение 0%, запускаемое 99999 раз, должно показывать все виджеты 99999, отправляемые на проверку.
EDIT: Сотрудник говорит, что меня путают и путают здесь. Она думает, что я описываю вероятность?
В любом случае, я пробовал этот код в качестве теста, но он ничего не делает, кроме как на отметках 100 и 50 на 1. Тем не менее, 1-49 действуют как 50, в то время как 51 через 100 уподобляться 100.
<?php
$nChance = @ $argv[1];
$nChance = intval($nChance);
for ($i = 1; $i <= 999999; $i++) {
$nTest = rand(1,floor(100/$nChance));
if (!($nTest == 1)) {
die("INSPECT! i($i) rand($nTest) chance($nChance)\n");
}
}
Затем я попробовал этот вариант, и тоже не получилось, потому что он просто сказал ПРОВЕРЬТЕ все время.
<?php
$nChance = @ $argv[1];
$nChance = intval($nChance);
for ($i = 1; $i <= 999999; $i++) {
$nTest = rand(0,100);
if (!($nTest < $nChance)) {
die("INSPECT! i($i) rand($nTest) chance($nChance)\n");
}
}
Исправьте меня, если я ошибаюсь, но вы просите кого-нибудь создать рабочий сценарий и протестировать его для вас. Может быть, это лучше будет размещаться на сайте, где вы платите за проделанную работу? –
Нет, совсем нет. Один лайнер почти сработал, но трудно доказать, что кто-то делает что-то вроде: «Ответ: (mt_rand (1,100) <$ nChance»), но потом не показывает, как это доказать. – Volomike