В вашей модели нет ничего особенно плохого, если это область, которую вы используете для ее анализа.
Обратите внимание, что в вашем случае вы проверяете количество врачей, связанных с клиниками. Теперь вы выполнили в своей команде запуска, что ровно 100 докторов.
Вы должны всегда быть осторожным при игре с числами в сплаве, так как диапазон целых чисел, который вы можете использовать, зависит от ширины бита, назначенной им по их объему.
По умолчанию объем целого числа 4, и поэтому целые числа в диапазоне от -8 до 7.
Возвращаясь к вашему вопросу:
Почему существует более 5 врачей, связанных с клиникой ?
Предположим, что в клинику назначено 8 врачей, как может быть предоставленный вами факт, пусть это произойдет? Сплав не может представлять 8 в диапазоне [-8,7], поэтому происходит «переполнение», что приводит к неожиданному результату, что число врачей, назначенных клинике, составляет -8. Тот факт, что -8 действительно меньше 5, является причиной, по которой ваша модель позволяет, например, 8 врачей, которые будут связаны с одной клиник.
Как исправить:
Два варианта среди других:
- уменьшить количество врача
- увеличить диапазон Целые. Вам понадобится, чтобы представить достаточно целых чисел с шириной бита не менее 8, чтобы «разорвать» этих 100 врачей. run .. для 8 Int даст вам следующий диапазон целого числа: [-128,127]
«Вы всегда должны быть осторожны при игре с цифрами в сплаве». Отличный принцип, превосходно сформулированный. –