Не выполняется корректно цикл do/while - C#
Формулировка задачи:
Имеется небольшая процедура, которая получает два параметра, и затем генерирует число в диапазоне [ m-3*s; m+3*s]
Проблема в том, что когда я вызываю процедуру, она работает не корректно - возвращает она N иногда в диапазоне, а иногда вне него, и числа меньше 0, хоть интервал не допускает эти числа.
Где я ошибся?
public double Norm(double m, double s)
{
double A = m-3*s;
double B = m+3*s;
double N;
int k = 12;
do
{
N = 0;
double rndSum = 0;
for (int i = 0; i < k; i++)
{
rndSum += rnd.NextDouble();
}
N = (rndSum - k * 0.5) / (Math.Sqrt(k)/12);
} while ((N<A)&(N>B));
return N;
}Решение задачи: «Не выполняется корректно цикл do/while»
textual
Листинг программы
while ((N < A) || (N > B));