Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
#include <iostream>
#include <chrono>
#include <random>
int main()
{
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine generator(seed);
std::normal_distribution<double> distribution(0.0, 1.228518);
const int tests = 500000;
const int candiesInBox = 12;
// let's test all max candy weight from 5.0 to 3.0 with step 0.1
for (double m = 5.0; m > 3; m -= 0.01)
{
int okBoxes = 0;
for (int j = 0; j < tests; ++j)
{
double sum = 0;
for (int i = 0; i < candiesInBox; ++i)
{
double number;
for (;;)
{
// let's generate candies till we have a good one
number = distribution(generator);
if (number < m && number > 0 - m)
break;
}
sum += number;
}
if (sum >= -7.0 && sum <= 7.0)
okBoxes++;
}
std::cout << "For max = " << m << " okBoxes=" << (double)okBoxes / (tests / 100) << "%" << std::endl;
}
return 0;
}
sd <- uniroot(function(x) pnorm(317, 310, sqrt(12)*x) - 0.95, lower = 0, upper = 2)$root
set.seed(123)
n <- 10000
boxes <- sapply(1:n, function(i) sum(rnorm(12, 310/12, sd)))
quantile(boxes, c(0.05, 0.95))
Ну примерно так. Если конфета при производстве не выходит за пределы m±dm в p процентах случаев, то n таких конфет не выйдет за пределы M±dM в P процентах случаев
Ну примерно так. Если конфета при производстве не выходит за пределы m±dm в p процентах случаев, то n таких конфет не выйдет за пределы M±dM в P процентах случаев
F(x | x <= -λ) = 0
F(x | x >= λ) = 1
F (x | x >= 0) = 1/2 + ( Ф (x / σ) - 1/2) * ( 1 + 2 * Ф (-λ / σ) + (2 * Ф (-λ / σ)) ^ 2 + ... = 1/2 + ( Ф (x / σ) - 1/2 ) / (1 - 2 * Ф (-λ / σ) ).
f(x | x <= -λ || x >= λ ) = 0
f(x | ... ) = e ^ (- x*x / (2 *σ*σ) ) / ( σ * sqrt( 2 * π) * (1 - 2 * Ф (-λ / σ)) )
Задача о конфетах