Не выполняется корректно цикл do/while - C#

Узнай цену своей работы

Формулировка задачи:

Имеется небольшая процедура, которая получает два параметра, и затем генерирует число в диапазоне [ m-3*s; m+3*s] Проблема в том, что когда я вызываю процедуру, она работает не корректно - возвращает она N иногда в диапазоне, а иногда вне него, и числа меньше 0, хоть интервал не допускает эти числа. Где я ошибся?
Листинг программы
  1. public double Norm(double m, double s)
  2. {
  3. double A = m-3*s;
  4. double B = m+3*s;
  5. double N;
  6. int k = 12;
  7. do
  8. {
  9. N = 0;
  10. double rndSum = 0;
  11. for (int i = 0; i < k; i++)
  12. {
  13. rndSum += rnd.NextDouble();
  14. }
  15. N = (rndSum - k * 0.5) / (Math.Sqrt(k)/12);
  16. } while ((N<A)&(N>B));
  17. return N;
  18. }

Решение задачи: «Не выполняется корректно цикл do/while»

textual
Листинг программы
  1. while ((N < A) || (N > B));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы