Не выполняется корректно цикл 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));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д